什么是Kestrel Web服务器以及它与IIS/IIS Express的关系?
我来自在IIS Express上开发应用程序并在IIS Web服务器上托管它们.使用ASP.NET Core我依赖于Microsoft.AspNetCore.Server.Kestrel我的启动.UseServer("Microsoft.AspNetCore.Server.Kestrel").但是当我运行我的网站时,我仍然在系统托盘中获得IIS Express图标.有人问我是否使用IIS Express或Kestrel,我不知道该说些什么!
我没有任何跨平台要求,因为我在PC上开发并在Azure中托管,所以我很困惑,如果我甚至是needKestrel,但它似乎没有替代品 - 即使最简单的样本也使用Kestrel.
我试图从我的.NET Core启动设置中删除IIS Express配置文件,但每次重新编写解决方案时,Visual Studio都会重新添加它.例如,在新项目中,我的启动设置如下所示
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:55735/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"MyProject": {
"commandName": "Project",
"launchUrl": "http://localhost:5010",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我删除了IIS部分
{
"profiles": {
"MyProject": {
"commandName": "Project",
"launchUrl": "http://localhost:5010",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
解决方案运行正常.但是一旦我关闭并重新打开解决方案,IIS部分就会重新出现.
有任何想法吗?
iis-express .net-core kestrel-http-server asp.net-core-webapi
VS 2017为ASP.NET Core MVC项目创建一个名为的文件launchSettings.json,其中包含有关IIS Express和Kestrel AMAIK的信息。
我们甚至在开发机器上也将项目托管在IIS中,因此我们实际上并不需要这些文件。
我们删除了它们,但是它们不断返回,并且每次我们打开解决方案时,它们都会出现。
有没有一种方法可以防止VS创建这些文件?