取决于Microsoft文档:
Kestrel可以单独使用,也可以与反向代理服务器一起使用,例如IIS,Nginx或Apache。反向代理服务器接收来自Internet的HTTP请求,并在进行一些初步处理后将它们转发给Kestrel。
如果没有Kestrel或自定义服务器实现,则无法使用IIS,Nginx和Apache。 ASP.NET Core旨在在其自己的进程中运行,以便它可以跨平台一致地运行。
但是,当我运行视觉工作室2017时,IIS Express始终运行。因此,如果可能依赖于MS文档,如何单独依赖红隼。
答案 0 :(得分:3)
您可以在VS2017的工具栏中更改启动应用程序
在上面的示例中,Visual Studio将在IIS Express中托管我的应用程序(带有勾号的项目)。如果您想将其作为Kestrel托管应用程序运行,那么我将从下拉列表中选择WebApplication2
。现在,当我启动应用程序时,它将从命令提示符窗口运行。
如果您使用的是.NET Core 2.0,那么您的Program.cs
文件应如下所示:
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
}
}
在幕后(在Build()
方法中)ASP.NET Core将添加调用以确保您的应用程序将在IIS和Kestrel中运行,而无需您更改任何内容。