Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 有没有一种方法可以停用NetCore3.X应用程序中的IIS集成,而不必从CreateDefaultBuilder复制代码_Asp.net Core_.net Core_Kestrel - Fatal编程技术网

Asp.net core 有没有一种方法可以停用NetCore3.X应用程序中的IIS集成,而不必从CreateDefaultBuilder复制代码

Asp.net core 有没有一种方法可以停用NetCore3.X应用程序中的IIS集成,而不必从CreateDefaultBuilder复制代码,asp.net-core,.net-core,kestrel,Asp.net Core,.net Core,Kestrel,在3.0版及更高版本的Net Core中,可以通过以下方式设置web应用程序: public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWeb

在3.0版及更高版本的Net Core中,可以通过以下方式设置web应用程序:

public static void Main(string[] args)
{
    CreateHostBuilder(args).Build().Run();
}

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.ConfigureAppConfiguration(config =>
            {
                var settingsFile = Environment.GetEnvironmentVariable("APP_SETTINGS");
                if (!string.IsNullOrWhiteSpace(settingsFile))
                {
                    config.AddJsonFile(settingsFile, optional: false);
                }
            });
                webBuilder.UseStartup<Startup>();
            });
publicstaticvoidmain(字符串[]args)
{
CreateHostBuilder(args.Build().Run();
}
公共静态IHostBuilder CreateHostBuilder(字符串[]args)=>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder=>
{
webBuilder.ConfigureAppConfiguration(配置=>
{
var settingsFile=Environment.GetEnvironmentVariable(“应用程序设置”);
如果(!string.IsNullOrWhiteSpace(settingsFile))
{
config.AddJsonFile(设置文件,可选:false);
}
});
webBuilder.UseStartup();
});
虽然使用
CreateDefaultBuilder
非常方便,并抽象了大量样板文件,但它还强制启用应用程序的IIS集成。在我的例子中,我想使用原始Kestrel运行应用程序,而不需要IIS代理请求

如果我不想使用IIS集成,那么从
CreateDefaultBuilder()
中提取所有样板文件是我唯一的选择,还是我可以以某种方式覆盖它?我一直在研究这个方法的源代码,但我找不到解决这个问题的方法

除了自己编写所有的设置代码之外,你知道更容易实现这一点的方法吗