Kestrel / IIS托管使用ASP.Net Core 2.2 / 3.0应用程序进行切换

问题描述 投票:0回答:1

是否有一种方法可以编译/构建我们的应用程序,但是可以部署到任一IIS(使用in-process托管模型)使用Kestrel独立运行?] >[在某些情况下,这是一个应用程序,可能在云端托管(Azure),但在Intranet方案中也打包并安装了本质上基于桌面的应用程序服务网页。

当前证书文件和密码已加载到IWebHostBuilder实现中:

public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .ConfigureServices(services => { services.AddSingleton<ConfigurationContainer>(ConfigurationContainer); }) .UseKestrel(options => { options.ConfigureEndpointDefaults(listenOptions => { if (_useHttps) listenOptions.UseHttps(_certificateFile, _certificatePword); }); }) .UseUrls("xxxxx") .UseStartup<Startup>();

目标如上所述-能够使用(进程内托管)在IIS中实质上托管相同的版本,或者使用Kestrel独立运行。

是否有一种方法可以编译/构建我们的应用程序一次,但是能够部署到IIS(使用进程内托管模型)或使用Kestrel独立运行?这是一个可能位于...

asp.net-core
1个回答
1
投票
从理论上讲,dll在这两个文件中的作用相同。因为您已选择在C#中配置Kestrel选项,所以您可能会在IIS中遇到有趣的情况。尝试在appsettings.json中配置Kestrel和URL:

"Kestrel": { "EndPoints": { "Http": { "Url": "http://localhost:5555" }}}

© www.soinside.com 2019 - 2024. All rights reserved.