![](/img/trans.png)
[英]Error 500: Hosting .net Core 6 app into IIS on Windows Server 2016
[英]What should my MVC Core app's Program class look like for hosting in IIS?
目前, Program
類是MVC Application項目模板創建的默認類,如下所示:
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
}
我知道我也應該在那里有一個UseIISIntegration
調用,並且應該以某種方式參與Kestrel
,但是我僅此而已。
有人可以給我一個例子,說明我的MVC應用程序已正確配置為在IIS上托管時, Program
類的內容應按什么順序排列。 Windows上帶有IIS的Windows上的MS Docs Host ASP.NET Core主題僅具有以下不足的示例:
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
...
習慣於在Asp.Net Core 1.x中啟用IISIntegration組件時
var host = new WebHostBuilder()
.UseKestrel()
.UseIISIntegration()
...
因為同時需要UseKestrel
和UseIISIntegration
。
在最新版本的Asp.Net Core 2.x中,已將其合並到WebHost.CreateDefaultBuilder
方法中
以下默認值應用於返回的WebHostBuilder:使用Kestrel作為Web服務器,將ContentRootPath設置為GetCurrentDirectory()的結果,從“ appsettings.json”和“ appsettings。[EnvironmentName] .json”加載IConfiguration,從使用入口程序集將EnvironmentName設為“開發”,從環境變量加載IConfiguration,將ILoggerFactory配置為登錄到控制台並調試輸出,啟用IIS集成,使框架能夠將其選項綁定到其默認配置部分的功能時,用戶的秘密並在EnvironmentName為'Development'時添加開發人員例外頁面
再次引用文檔
典型的Program.cs調用
CreateDefaultBuilder
來開始設置主機。CreateDefaultBuilder
將Kestrel配置為Web服務器,並通過配置ASP.NET Core模塊的基本路徑和端口來啟用IIS集成。
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
...
In Asp.Net Core 1.x as you are accustom to when enabling the IISIntegration components you would have done
var host = new WebHostBuilder()
.UseKestrel()
.UseIISIntegration()
...
ASP.NET Core 2.x仍然支持使用WebHostBuilder
。
Windows上具有IIS的參考主機ASP.NET Core
有關在Asp.Net Core中托管的更多信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.