首页 > 代码库 > VS2015 VNext学习笔记01:CLR

VS2015 VNext学习笔记01:CLR

1.概述

    ASP.NET为了优化和云平台,甚至跨平台,DotNetFramework版本进行了重新设计和划分版本,在应用程序中它们可以共存,你也可以单一使用某一个版本。

1.1完整的.NET CLR
    它是在 Visual Studio 项目的默认运行时。提供了整个 API 集,是您最佳的选择,为向后兼容性。

1.2核心 CLR (云优化运行时)
     它 是 ASP.NET 5 项目精简和完全模块化的运行时。通过重新分解为单独的组件运行时,可以提供改进的组件更多也很快为每个组件更新。它大约 11 兆字节而不是完整的.NET CLR 大约 200 兆字节。核心 CLR 可以部署您的应用程序和不同版本的核心 CLR 可以共存运行。

1.3跨平台 CLR
  微软未来还将发布一个跨平台运行时为 Linux 和 Mac OS X。发布时,此运行时将使您能够开发和运行.NET 应用程序在 Mac 和 Linux 的设备上。

2.项目

2.1新建项目

2.2目录结构

3.代码

修改Startup.cs:

using System;using Microsoft.AspNet.Builder;using Microsoft.AspNet.Http;namespace VNext01{    public class Startup    {        public void Configure(IApplicationBuilder app)        {            app.Run(async context =>            {              context.Response.ContentType = "text/html";              context.Response.StatusCode = 200;              var h1 = "<h1>ASP.NET Framework</h2>";              var h2 = "<h2>Server Time</h2>";              var serverTime = DateTime.Now;             await context.Response.WriteAsync(h1);             await context.Response.WriteAsync(h2);             await context.Response.WriteAsync(                string.Format("Server Time {0}", serverTime));            });        }    }}

运行结果:

4.安装NodaTime

4.1通过nuget安装

4.2修改

修改Startup.cs中 var serverTime = DateTime.Now;

改为:var serverTime = NodaTime.SystemClock.Instance.Now;

此时运行会出错,我们去修改project.json,把下面注释掉(只保留一个版本):

4.3运行结果

注意和.NETFramework内置的时间格式不一样哦。

5.修改完善

5.1修改project.json

5.2修改Startup.cs

using System;using Microsoft.AspNet.Builder;using Microsoft.AspNet.Http;namespace VNext01{    public class Startup    {        public void Configure(IApplicationBuilder app)        {            app.Run(async context =>            {                context.Response.ContentType = "text/html";                context.Response.StatusCode = 200;#if ASPNET50                var h1 = "<h1>ASP.NET Framework</h2>";                var h2 = "<h2>Server Time</h2>";                var serverTime = NodaTime.SystemClock.Instance.Now;#elif ASPNETCORE50               var h1 = "<h1>ASP.NET Framework</h2>";                var h2 = "<h2>Server Time</h2>";                var serverTime = DateTime.Now;#endif                await context.Response.WriteAsync(h1);                await context.Response.WriteAsync(h2);                await context.Response.WriteAsync(                   string.Format("Server Time {0}", serverTime));            });        }    }}

5.3修改运行版本

项目“属性”设置:

其程序运行结果就不截图了。

6.小结

通过此例实践,学到程序集版本可以共存,运行时选用那个版本可以选择。拓展想一下,你又体会到什么啦???欢迎分享!

 

VS2015 VNext学习笔记01:CLR