今天在 MSDN 博客上看到了 ASP.NET 5 Beta5 的发布消息(详见 ASP.NET 5 Beta5 Now Available),从中知道了 2 个新特性:
1. DNX: New IRuntimeEnvironment service. Use the new IRuntimeEnvironment service to get runtime details, like OS, CLR, and bitness.
2. MVC: C# 6 support in Razor.
正好借助我们 .NET 跨平台之旅的首站 —— 基于 CoreCLR 运行于 Linux 上的站点 about.cnblogs.com 体验一下。
我们要实现的功能是在页脚显示“Powered by {CLR名称} {操作系统名称}”,CLR 名称与操作系统名称通过 IRuntimeEnvironment 接口获取,显示字符串时使用 C# 6.0 的 string interpolation 特性。
借助 ASP.NET 5 从头注到脚的全身心依赖注入(dependecy injection)特性,我们只需在视图添加 2 行代码。
用 vim 打开 _Layout.cshtml 视图文件:
vi Views/Shared/_Layout.cshtml
在开头添加 IRuntimeEnvironment 接口的解析代码:
@inject Microsoft.Framework.Runtime.IRuntimeEnvironment env
在页脚添加调用 IRuntimeEnvironment 接口以及在视图中显示字符串的代码:
Powered by @($"{env.RuntimeType} on {env.OperatingSystem}")
运行站点:
dnx . kestrel
浏览器查看运行结果:
运行成功!
借助 ASP.NET 5 Beta5 的发布,.NET 跨平台之旅今天进行了一次徒步 100 米的旅程。虽然路程很短,但细微之处也可以感受到 .NET 跨平台的千里之行正在一步一步向前。