.NET Core RC2发布在即,我们试着用记事本编写一个ASP.NET Core RC2 MVC程序

.NET Core RC2发布在即,我们试着用记事本编写一个ASP.NET Core RC2 MVC程序,第1张

概述在.NET Core 1.0.0 RC2即将正式发布之际,我也应应景,针对RC2 Preview版本编写一个史上最简单的MVC应用。由于VS 2015目前尚不支持,VS Code的智能感知尚欠火候,所

在.NET Core 1.0.0 RC2即将正式发布之际,我也应应景,针对RC2 PrevIEw版本编写一个史上最简单的MVC应用。由于VS 2015目前尚不支持,VS Code的智能感知尚欠火候,所以我们直接采用最原始的记事本来编写这个MVC应用。[源代码从这里下载]

目录
步骤一、安装最新的.NET Core SDK
步骤二、定义源代码和配置
        定义NuGet.xml
        定义Project.Json
        定义入口程序
        定义初始化类型
        定义Controller
步骤三、运行程序
        恢复NuGet包
        编译执行程序
        向HomeController发起请求

 

步骤一、安装最新的.NET Core SDK

我们可以根据自身的 *** 作系统环境从https://github.com/dotnet/cli上下载.NET Core最新的SDK,这个SDK包含.NET Core Runtime和一些有用工具(比如命令行)。如果你已经安装了老旧的版本,我个人建议你先将其卸载。

目前的版本为1.0.0-prevIEw1-002702,我们可以执行dotnet –version命令确认是否是这个版本。

步骤二、定义源代码和配置

我们创建一个目录(假设为C:\HelloWorld)来存放MVC应用所有的源文件。下图展现了定义在这个目录下的所有文件。

定义NuGet.config

我们在NuGet.config文件中定义应用程序使用的NuGet包所在的站点地址(https://www.myget.org/F/aspnetrc2/API/v3/index.Json

   1: <?xml version="1.0" enCoding="utf-8"?>
   2: <configuration   3:  packageSources   4:     add key="RC2" value="https://www.myget.org/F/aspnetrc2/API/v3/index.Json" />
   5:   </   6: /configuration>
定义Project.Json

定义在Project.Json文件中的所有配置如下所示,我们会发现它与RC1中的Project.Json不太一样。RC2中,我们可以向定义普通依赖一样来选择运行时(Microsoft.NETCore.App),或者说运行时本质已经成为了一个一般意义上的以来。除了这个针对运行时的依赖,我们还添加了两个依赖,它们分别是“Microsoft.AspNetCore.Mvc”和“Microsoft.AspNetCore.Server.Kestrel”,前者定义了ASP.NET Core MVC的核心框架,后者则提供了一个针对Kestrel的Server (ASP.NET Core管道中的Server专门负责请求的监听、接收和回复)。我们在“framework”节点添加了一个名为“netcoreapp1.0”的框架,之前的名称叫做“dnxcore50”。

1: {
   3:   "buildOptions": {
   5:   },1)">   6:   "dependencIEs": {
   7:     "Microsoft.NETCore.App": {
   8:       "type": "platform",1)'>   9:       "1.0.0-rc2-3002702"
  10:     },1)'>  11:     "Microsoft.AspNetCore.Mvc":"1.0.0-rc2-final",1)'>  12:     "Microsoft.AspNetCore.Server.Kestrel":"1.0.0-rc2-final"
  13:   },1)'>  14:   "frameworks": {
  15:     "netcoreapp1.0": {
  16:       "imports": "dnxcore50"
  17:     }
  18:   }
  19: }
定义入口程序

启动应用的入口程序定义在Program.cs。如下面的代码片段所示,我们在这个文件中定义了一个Program类型,并在Main方法中编写了启动MVC应用的代码。具体来说,我们创建了一个WebHostBuilder对象通过调用扩展方法UseKestrel为构建的http消息处理管道注册了一个Kestrel服务器。在调用UseStartup方法将Startup设置为启动类型之后,我们调用Build方法创建了一个WebHost对象。我们最终调用Run方法启动WebHost,进而启动了我们的MVC应用。

using Microsoft.AspNetCore.Hosting;
   3:  
   5: {
   7:     {
   9:         .UseKestrel()
  11:         .Build()
  13:     }
class Startup
   8:         services.AddMvc();
  10:  
  12:     {
  14:     }
class HomeController : Controller
   4:     [httpGet("/")]
   6:     {
   8:     }
					

保存