.NET跨平台:在mac命令行下用vim手写ASP.NET 5 MVC程序

版权所有,禁止匿名转载;禁止商业使用。

今天接着昨天的代码,用 vim 一步一步手写一个最简单的 ASP.NET 5 MVC 程序。


先创建 Controllers 文件夹:

mkdir Controllers && cd $_

接着创建 HomeController.cs 文件:


vi HomeController.cs

在 vim 中输入下面的代码并只在退出:


using Microsoft.AspNet.Mvc;
namespace HelloCnblogs
{
  public class HomeController : Controller
  {
    public IActionResult Index()
    {
      return Content("Hello, Cnblogs! -- ASP.NET 5 MVC");
    }
  }
}

然后用 vim 打开 Startup.cs 文件添加 MVC 相关代码:


using Microsoft.AspNet.Builder;
using Microsoft.Framework.DependencyInjection;
namespace HelloCnblogs
{
  public class Startup
  {
    public void Configure(IApplicationBuilder app)
    {
      app.UseMvcWithDefaultRoute();
    }
    public void ConfigureServices(IServiceCollection services)
    {
      services.AddMvc();
    }
  }
}

再然后就是用 vim 在 project.json 中添加 MVC 的引用


"dependencies":{
        "Kestrel": "1.0.0-*",
        "Microsoft.AspNet.Mvc": "6.0.0-*"
    }

接下来,就开始运行这个最简单的 ASP.NET 5 MVC 程序。


先安装所引用的包包:

dnu restore

然后运行程序:

dnx . kestrel

运行成功!

Started

用浏览器访问 http://localhost:8080/ ,得到的响应内容如下:


Hello, Cnblogs! -- ASP.NET 5 MVC

搞定!


通过这次手写代码 ASP.NET 5 MVC 代码,得到运行一个简单 ASP.NET 5 MVC 程序的最小配置:


除了 Controller 之外,project.json 中的配置如下:


{
  "commands":{
    "kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:8080"
  },
  "dependencies":{
    "Kestrel": "1.0.0-*",
    "Microsoft.AspNet.Mvc": "6.0.0-*"
  },
  "frameworks":{
    "dnxcore50": {}
  }
}

Startup.cs 中的代码如下:


using Microsoft.AspNet.Builder;
using Microsoft.Framework.DependencyInjection;
namespace HelloCnblogs
{
  public class Startup
  {
    public void Configure(IApplicationBuilder app)
    {
      app.UseMvcWithDefaultRoute();
    }
    public void ConfigureServices(IServiceCollection services)
    {
      services.AddMvc();
    }
  }
}


0 0