ASP.NET 5 RC1 项目差异
ASP.NET 5 RC1 Project Differences
我刚刚使用 ASP.NET 5 MVC 6 在 VS 2015 中创建了另一个测试项目。上次我使用的是运行时的 beta-7。然而这次,我使用的是 RC1。
project.json RC1 版本文件:
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel"
}
project.json beta-7 版本文件:
"commands": {
"web": "Microsoft.AspNet.Hosting --config hosting.ini"
}
Kestrel 是一个单一平台,我不知道为什么默认模板会设置它而不是 IIS 或 IIS Express?有人可以解释如何在 RC1 上为 Web 应用 运行 正确配置 IIS(最好)和 IIS Express 吗?虽然 RC1 站点是 运行 并且显示在 IIS Express 任务栏中,但为什么是 Kestrel 配置条目?
切换到完整的 IIS 和 CoreCLR 的步骤是什么?
ASP.NET 5 个支持 3 个不同的服务器:
Microsoft.AspNet.Server.IIS
Microsoft.AspNet.Server.WebListener (WebListener)
Microsoft.AspNet.Server.Kestrel (Kestrel)
您可以通过在 project.json 文件中指定命令,将您的应用程序配置为由任何或所有这些服务器托管。
启动服务器时,您可以为其提供一些配置选项。这可以直接使用命令行参数完成,或者可以指定包含设置的配置文件。 Microsoft.AspNet.Hosting 命令支持服务器使用的参数(例如 Kestrel 或 WebListener)以及 server.urls 配置键,其中应包含 semicolon-separated 列表 URL 前缀服务器应该处理。
project.json文件演示了如何直接传递server.urls参数:
"kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5004"
或者,可以引用配置文件,而不是:
"kestrel": "Microsoft.AspNet.Hosting --config hosting.ini"
然后,hosting.ini 可以包含服务器将使用的设置(也包括服务器参数):
server=Kestrel
server.urls=http://localhost:5000
此处提供参考和更详细的信息:
http://docs.asp.net/en/latest/fundamentals/servers.html
此外,new Startup class 中的 Configure() 方法允许指定要使用的处理程序,您可以指定
app.UseIISPlatformHandler()
使用适当的参数以使用 IIS 托管。
您的应用程序很可能 运行 在 IIS(快速)托管下,因为您可能在 "Run" 选项(在 [=45= 顶部的工具栏中)中选择了 IIS 或 IIS Express ]).如果您想使用 Kestrel,请将其更改为 "web",然后它将选择 command->web.project.json 配置中指定的内容。
我刚刚使用 ASP.NET 5 MVC 6 在 VS 2015 中创建了另一个测试项目。上次我使用的是运行时的 beta-7。然而这次,我使用的是 RC1。
project.json RC1 版本文件:
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel"
}
project.json beta-7 版本文件:
"commands": {
"web": "Microsoft.AspNet.Hosting --config hosting.ini"
}
Kestrel 是一个单一平台,我不知道为什么默认模板会设置它而不是 IIS 或 IIS Express?有人可以解释如何在 RC1 上为 Web 应用 运行 正确配置 IIS(最好)和 IIS Express 吗?虽然 RC1 站点是 运行 并且显示在 IIS Express 任务栏中,但为什么是 Kestrel 配置条目?
切换到完整的 IIS 和 CoreCLR 的步骤是什么?
ASP.NET 5 个支持 3 个不同的服务器:
Microsoft.AspNet.Server.IIS
Microsoft.AspNet.Server.WebListener (WebListener)
Microsoft.AspNet.Server.Kestrel (Kestrel)
您可以通过在 project.json 文件中指定命令,将您的应用程序配置为由任何或所有这些服务器托管。
启动服务器时,您可以为其提供一些配置选项。这可以直接使用命令行参数完成,或者可以指定包含设置的配置文件。 Microsoft.AspNet.Hosting 命令支持服务器使用的参数(例如 Kestrel 或 WebListener)以及 server.urls 配置键,其中应包含 semicolon-separated 列表 URL 前缀服务器应该处理。
project.json文件演示了如何直接传递server.urls参数:
"kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5004"
或者,可以引用配置文件,而不是:
"kestrel": "Microsoft.AspNet.Hosting --config hosting.ini"
然后,hosting.ini 可以包含服务器将使用的设置(也包括服务器参数):
server=Kestrel
server.urls=http://localhost:5000
此处提供参考和更详细的信息: http://docs.asp.net/en/latest/fundamentals/servers.html
此外,new Startup class 中的 Configure() 方法允许指定要使用的处理程序,您可以指定 app.UseIISPlatformHandler() 使用适当的参数以使用 IIS 托管。
您的应用程序很可能 运行 在 IIS(快速)托管下,因为您可能在 "Run" 选项(在 [=45= 顶部的工具栏中)中选择了 IIS 或 IIS Express ]).如果您想使用 Kestrel,请将其更改为 "web",然后它将选择 command->web.project.json 配置中指定的内容。