微软最近发布了.NET Core 和 ASP.NET 5 的发布候选版本,可运行在 Windows,OS X 和 linux 上。微软宣布 这个发布版已准备好投入使用,并将会支持它。两个发布候选版本都是经过深思熟虑的特性,并且都支持 Windows,OS X 和 linux。不过在最终发布前,小的特性依然会加入。
ASP.NET 5 在 IIS 上的破坏性的改变
因为 ASP.NET 5 的架构和它的前身在一些方面是不同的,所以将一个ASP.NET 5 web 应用发布到一个IIS 服务器前,我们还需要做一些事。HTTP 平台处理器必须被安装到web 服务器上,还有一些附加的配置步骤可能也是需要的。
ASP.NET 5 在 Visual Studio 上的一些特性
Visual Studio 有了两个和 ASP.NET 的 UI 部分有关的新特性。第一个将 Bootstrap Snippets 作为 ASP.NET 5 项目推荐的编辑 HTML 和 CSHTML 页面的扩展。这个扩展提供了一个包含 40 个 HTML 片段的集合,它们都可以在 Visual Studio 的工具箱中查到。
Bower,微软为 CSS 和 JavaScript 等客户端内容的包管理器创建了新 UI. 它的用户界面和 Nuget 相像,但它管理的是客户端工具库。
ASP.NET 5 运行环境
DNX——或者说.NET 运行环境——是一个用来构建和运行.NET 应用的 SDK。它主要的目的是简化跨平台应用的开发。它也使得.NET 项目运行在 Mono,.NET 和.NET Core 等不同运行环境上成为可能。RC1 在主机设置上带来了一个小的改变,主机设置成为了应用的一个显式的部分。这个改变带来了更大的扩展性,同时也为指定一个不同的主机或者在初始化 DNX 主机前调用一些代码提提供了可能。下面的例子展示了使用 C# 6 的表达式方法体语法调用主机。
public static void Main(string[] args) => WebApplication.Run<startup>(args); </startup>
.NET Core 运行环境和 BCL
RC1 为很多运行时组件和库提供了 linux 和 OSX 支持。
- CoreFX,.NET 核心基础库像 System.Collections 的实现
- 最大路径限制的移除,这意味着.NETCore APIs 不再存在着 260 字符的限制
- 在 Linux 和 OS X 的 RyuJIT 支持
- 在 Linux 支持 LLDB 和 SOS
- 对于调试器和奔溃转存这些异常处理的整合
- 对于 Linux 和 OSX 提供 GC/ 线程挂起
- 对于 Linux 通过 LTTNG 提供本地事务支持
.NET 核心库
SqlClient 是被移植到.NET Core,支持 Windows OS X 和 Linux。虽然客户端工作在所有平台,但 RC1 还不支持完整的特性。几个 Azure 库也被移植到.NET Core,包括:
- Windows Azure Storage
- Microsoft.Azure.Graph.RBAC
- Microsoft.Azure.Management.Compute
- Microsoft.Azure.Management.Network
- Microsoft.Azure.Management.Storage
- Microsoft.Azure.Management.Resources
- Microsoft.Azure.Management.WebSites
ASP.NET 5 对于 Windows,Linux 和 OSX 平台的安装包可以在官方网站 ASP.NET website 上获得。 ASP.NET 和.NET Core 的源代码和文档都被存放在了GitHub 上。
感谢徐川对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。
评论