Asp.net 在没有IIS和VS2017的情况下使用Kestrel
依赖于Microsoft文档: Kestrel可以单独使用,也可以与反向代理服务器(如IIS、Nginx或Apache)一起使用。反向代理服务器接收来自Internet的HTTP请求,并在初步处理后将其转发给Kestrel 如果没有Kestrel或自定义服务器实现,则无法使用IIS、Nginx和Apache。ASP.NET Core设计为在自己的进程中运行,因此它可以跨平台一致地运行Asp.net 在没有IIS和VS2017的情况下使用Kestrel,asp.net,.net,asp.net-core,.net-core,Asp.net,.net,Asp.net Core,.net Core,依赖于Microsoft文档: Kestrel可以单独使用,也可以与反向代理服务器(如IIS、Nginx或Apache)一起使用。反向代理服务器接收来自Internet的HTTP请求,并在初步处理后将其转发给Kestrel 如果没有Kestrel或自定义服务器实现,则无法使用IIS、Nginx和Apache。ASP.NET Core设计为在自己的进程中运行,因此它可以跨平台一致地运行 但当我运行visual studio 2017时,总是会运行IIS Express。因此,如果可能的话,如何仅
但当我运行visual studio 2017时,总是会运行IIS Express。因此,如果可能的话,如何仅依赖kestrel取决于MS文档。您可以从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();
}
}
公共类程序
{
公共静态void Main(字符串[]args)
{
BuildWebHost(args.Run();
}
公共静态IWebHost BuildWebHost(字符串[]args)=>
WebHost.CreateDefaultBuilder(args)
.UseStartup()
.Build();
}
}
幕后(在
Build()
方法中)ASP.NET Core将添加这些调用,以确保您的应用程序在IIS和Kestrel中运行,而无需更改任何内容。您是否尝试将执行配置文件从IIS Express更改为在“运行”下拉列表中以您的启动项目命名的配置文件?请提供更多有关执行配置文件的详细信息,以及它对启动配置的影响需要更改吗?我的VS在菜单栏中没有此选项(我以前可能已将其删除)。它叫什么来重新添加?