如何使用共享群集上相同端口的子路径在Azure Service Fabric上部
Service Fabric样本如wordcount,web应用程序侦听子路径中的端口,如下所示:
http://localhost:8081/wordcount 此配置的代码是:(请参阅GitHub https://github.com/Azure-Samples/service-fabric-dotnet-getting-started/blob/master/Services/WordCount/WordCount.WebService/WordCountWebService.cs上的文件) protected override IEnumerable<ServiceInstanceListener> CreateServiceInstanceListeners() { return new[] { new ServiceInstanceListener(initParams => new OwinCommunicationListener("wordcount",new Startup(),initParams)) }; } 使用此配置,我们可以使用相同的端口在同一群集上部署其他Web应用程序(8081) http://localhost:8081/wordcount http://localhost:8081/app1 http://localhost:8081/app2 等等. 但Asp.Net Core项目模板不同,我不知道如何在侦听器配置上添加子路径. 下面的代码是我们在项目模板(Program.cs类WebHostingService)中的代码: protected override IEnumerable<ServiceInstanceListener> CreateServiceInstanceListeners() { return new[] { new ServiceInstanceListener(_ => this) }; } Task<string> ICommunicationListener.OpenAsync(CancellationToken cancellationToken) { var endpoint = FabricRuntime.GetActivationContext().GetEndpoint(_endpointName); string serverUrl = $"{endpoint.Protocol}://{FabricRuntime.GetNodeContext().IPAddressOrFQDN}:{endpoint.Port}"; _webHost = new WebHostBuilder().UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseStartup<Startup>() .UseUrls(serverUrl) .Build(); _webHost.Start(); return Task.FromResult(serverUrl); } 语义有点不同,但都在同一点上结束. 看看我在下面的代码段中尝试过的方式: string serverUrl = $"{endpoint.Protocol}://{FabricRuntime.GetNodeContext().IPAddressOrFQDN}:{endpoint.Port}/app1"; 如何使用asp.net核心获得与“经典”Web应用程序相同的结果? 目标是在端口80上的azure上发布,以便让用户获得更好的体验,例如: http://mywebsite.com/app1 http://mywebsite.com/app2 非常感谢! 解决方法
Kestrel不支持多个应用程序之间的URL前缀或端口共享.你必须使用
WebListener:
使用Microsoft.AspNetCore.Hosting…_webHost = new WebHostBuilder().UseWebListener() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-core – 使用dotnet pack包含所有依赖项
- Asp.net core应用在 Kubernetes上内存使用率过高问题分析
- asp.net – 将ASPX导出为HTML
- 更改ASP.NET网站管理工具连接字符串
- 在ASP.NET中,当HttpContext.Current为NULL时,如何获取physc
- .net – RangeValidator不能算?
- ASP.NET Core 企业级开发架构简介及汇总
- 围绕ASP.NET会话跨多个选项卡窗口共享的方式
- asp.net – 如何从复选框列表中获取最新的选定值?
- asp.net – Mono WebForms:设置启动调试时运行的默认页面
- .net – ServiceHost和WebServiceHost有什么区别
- asp.net – 增加会话TimeOut
- asp.net-mvc – ASP.NET MVC,自动完成文本框,缓存
- asp.net – 对绑定到自定义通用对象列表的GridVi
- 从头编写 asp.net core 2.0 web api 基础框架 (1
- asp.net core 使用identityServer4的密码模式来进
- 循环遍历ASP.NET缓存对象中的键
- asp.net-mvc – 从视图到控制器POST信用卡数据是
- asp.net – DataTable Wrapper或如何将UI与业务逻
- ASP.NET MVC 使用Spring.NET 依赖注入