ASP.NET 5 的路线图(详见 ASP.NET 5 Schedule and Roadmap : https://github.com/aspnet/home/wiki/roadmap ):Beta8版本在10月15日发布了,在微软的.NET Web开发工具博客上发布了详细的说明文章:http://blogs.msdn.com/b/webdev/archive/2015/10/15/announcing-availability-of-asp-net-5-beta8.aspx 。
ASP.NET 5 Beta 8的一个重大更新就是IIS 宿主模型,统一了宿主模型,Beta7之前的模型是通过一个叫做"Helios" 实现另一套的宿主机制,两个完全不同的宿主模型为 ASP.NET 5 导入了大量的复杂性和不一致性,在 IIS 中承载 ASP.NET 5 应用程序的现在使用 IIS HttpPlatformHandler转发到 ASP.NET 5 Kestrel 服务器。HttpPlatformHandler 是一个本机 IIS 模块,需要管理员在 IIS 的服务器上安装(安装程序: x86, x64)。新的宿主模型带来的好处包括:
- IIS应用程序池不需要运行托管代码,类似于在IIS上运行PHP那样,根本不会在IIS上加载CLR
- 不再需要安装Windows的asp.net组件
- IIS上可以同时运行ASP.NET 4.x模块和HttpPlatformHandler
- HttpPlatformHandler支持给每个进程设置环境变量
Visual Studio 中的 ASP.NET 5 项目模板已经更新,以包括下面的 web.config 文件在您的应用程序的 wwwroot 文件夹中:
<configuration>
<system.webServer>
<handlers>
<add
name="httpPlatformHandler"
path="*"
verb="*"
modules="httpPlatformHandler"
resourceType="Unspecified"/>
</handlers>
<httpPlatform
processPath="%DNX_PATH%"
arguments="%DNX_ARGS%"
stdoutLogEnabled="false"
startupTimeLimit="3600"/>
</system.webServer>
</configuration>
此 web.config 文件将 HttpPlatformHandler 添加到您的应用程序和配置处理程序,将请求转发到 DNX 进程。Visual Studio设置 DNX_PATH 环境变量为指向您的应用程序的适当 DNX 版本。关于IIS宿主模型的详细内容参考 https://github.com/aspnet/Announcements/issues/69
ASP.NET Beta 8的另一个重大改进就是可以把目标框架设置为.NET 2.0 和.NET 3.5,只需要在你的 project.json 文件的框架节点中使用 net20 和 net35 的target framework。
ASP.NET 5的详细文档参看http://docs.asp.net,你可以找到Beta 8的新特性介绍和 bug修复。
当然还是有很多问题等待修复,例如在CentOS上对.NET Core的支持还是有问题,在Linux/Mac上还是运行不了全堆栈的.NET Framework, 这个还得依赖于Mono。