使用没有IIS和VS 2017的红隼

时间:2018-05-15 13:43:36

标签: asp.net .net asp.net-core .net-core

取决于Microsoft文档:

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/?view=aspnetcore-2.0&tabs=aspnetcore2x

Kestrel可以单独使用,也可以与反向代理服务器一起使用,例如IIS,Nginx或Apache。反向代理服务器接收来自Internet的HTTP请求,并在进行一些初步处理后将它们转发给Kestrel。

如果没有Kestrel或自定义服务器实现,则无法使用IIS,Nginx和Apache。 ASP.NET Core旨在在其自己的进程中运行,以便它可以跨平台一致地运行。

但是,当我运行视觉工作室2017时,IIS Express始终运行。因此,如果可能依赖于MS文档,如何单独依赖红隼。

1 个答案:

答案 0 :(得分:3)

您可以在VS2017的工具栏中更改启动应用程序

enter image description here

在上面的示例中,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中运行,而无需您更改任何内容。