国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ASP.NET Core中使用默認(rèn)MVC路由的配置

Original 2017-02-21 11:45:35 1469
abstract:ASP.NET Core里Route這塊的改動不大,只是一些用法上有了調(diào)整,提供了一些更加簡潔的語法。而對于自定義路由的支持當(dāng)然也是沒有問題的,這個(gè)功能應(yīng)該是從MVC1.0版本就已經(jīng)有這個(gè)功能。先看看ASP.NET Core里面實(shí)現(xiàn)默認(rèn)MVC路由的配置方式通常情況下,在使用MVC項(xiàng)目的時(shí)候,默認(rèn)的路由就足夠了,就是常見的通過Controller和Action獲取具體的方法的方式。從一個(gè)最基本的項(xiàng)目

ASP.NET Core里Route這塊的改動不大,只是一些用法上有了調(diào)整,提供了一些更加簡潔的語法。

而對于自定義路由的支持當(dāng)然也是沒有問題的,這個(gè)功能應(yīng)該是從MVC1.0版本就已經(jīng)有這個(gè)功能。

先看看ASP.NET Core里面實(shí)現(xiàn)默認(rèn)MVC路由的配置方式

通常情況下,在使用MVC項(xiàng)目的時(shí)候,默認(rèn)的路由就足夠了,就是常見的通過Controller和Action獲取具體的方法的方式。

從一個(gè)最基本的項(xiàng)目開始,執(zhí)行以下步驟,就可以使得項(xiàng)目支持MVC路由

1.創(chuàng)建一個(gè)空白的ASP.NET Core(Empty) Web項(xiàng)目

2.打開project.json,在”dependencies”節(jié)點(diǎn)下增加如下依賴項(xiàng)目

"Microsoft.AspNetCore.Mvc": "1.0.0"

保存之后,項(xiàng)目會自動restore packages到本地

3.加入默認(rèn)MVC路由配置

打開Startup.cs文件

在ConfigureServices方法,加入如下代碼

services.AddMvc();
  

這個(gè)擴(kuò)展方法把Mvc的一些服務(wù)都注入到容器中

在Configure方法,注釋最后兜底的那個(gè)“hello world”語句,這個(gè)語句的作用是不管什么請求都它來負(fù)責(zé)。 

然后在Configure方法加入如下代碼

app.UseMvcWithDefaultRoute();

這個(gè)擴(kuò)展方法實(shí)際上使用了一個(gè)Middleware,默認(rèn)的Url template跟之前MVC版本的一致,上述代碼等同于以下效果

app.UseMvc(routes =>
   {
    routes.MapRoute(
     name: "Default",
     template: "{controller}/{action}/{id?}",
     defaults: new {controller = "Home", action = "Index"}
    );
   });

最終的Startup.cs代碼如下

public class Startup
 {
  public void ConfigureServices(IServiceCollection services)
  {
   services.AddMvc();
  }
 
  // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
  public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
  {
   loggerFactory.AddConsole();
 
   if (env.IsDevelopment())
   {
    app.UseDeveloperExceptionPage();
   }
 
   //app.Run(async (context) =>
   //{
   // await context.Response.WriteAsync("Hello World!");
   //});
   app.UseMvcWithDefaultRoute();
  }
 }

4.到此配置已經(jīng)完成,但是運(yùn)行站點(diǎn)直接顯示404,沒顯示Hello world說明已經(jīng)生效了,只是Empty的項(xiàng)目沒有Controller,那么定義一個(gè)Controller吧。

手動在項(xiàng)目根目錄創(chuàng)建Controllers目錄,然后新建一個(gè)Controller,名字為HomeController,然后直接運(yùn)行網(wǎng)站(應(yīng)該刷新一下就可以了)。

站點(diǎn)繼續(xù)提示錯(cuò)誤,但不是404了,是提示找不到Index這個(gè)View。

繼續(xù)在項(xiàng)目根目錄創(chuàng)建Views目錄,然后在Views目錄下新建一個(gè)Home目錄,在Home目錄新建一個(gè)Index.cshtml,填寫一些內(nèi)容,再次刷新就可以了。

當(dāng)然這是最基本的配置,比如要進(jìn)一步支持在cshtml里面實(shí)現(xiàn)智能感知,支持靜態(tài)文件路由等還得加入更多的依賴和配置。


Release Notes

Popular Entries