昨天在 Mac 上手寫了一個最簡單的 ASP.NET 5 程式,直接在 Startup.cs 中通過 Response.WriteAsync() 輸出響應内容。今天接着昨天的代碼,用 vim 一步一步手寫一個最簡單的 ASP.NET 5 MVC 程式。
昨天在 Mac 上手寫了一個最簡單的 ASP.NET 5 程式,直接在 Startup.cs 中通過 Response.WriteAsync() 輸出響應内容,詳見 .NET跨平台:在Mac上跟着錯誤資訊一步一步手寫ASP.NET 5程式。
今天接着昨天的代碼,用 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();
}
}
}