.NET跨平臺:在mac命令行下用vim手寫ASP.NET 5 MVC程序 .NET跨平臺:在Mac上跟着錯誤信息一步一步手寫ASP.NET 5程序

昨天在 Mac 上手寫了一個最簡單的 ASP.NET 5 程序,直接在 Startup.cs 中經過 Response.WriteAsync() 輸出響應內容,詳見 .NET跨平臺:在Mac上跟着錯誤信息一步一步手寫ASP.NET 5程序html

今天接着昨天的代碼,用 vim 一步一步手寫一個最簡單的 ASP.NET 5 MVC 程序。json

先建立 Controllers 文件夾:vim

mkdir Controllers && cd $_

接着建立 HomeController.cs 文件:瀏覽器

vi HomeController.cs 

在 vim 中輸入下面的代碼並只在退出:app

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 相關代碼:post

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 的引用ui

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

接下來,就開始運行這個最簡單的 ASP.NET 5 MVC 程序。url

先安裝所引用的包包:spa

dnu restore

而後運行程序:rest

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();
        }
    }
}
相關文章
相關標籤/搜索