今天就跟大家聊聊有關(guān)在Core中如何使用MVC路由的配置,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
目前創(chuàng)新互聯(lián)已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、北塔網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。ASP.NET Core里Route這塊的改動(dòng)不大,只是一些用法上有了調(diào)整,提供了一些更加簡(jiǎn)潔的語(yǔ)法。
而對(duì)于自定義路由的支持當(dāng)然也是沒(méi)有問(wèn)題的,這個(gè)功能應(yīng)該是從MVC1.0版本就已經(jīng)有這個(gè)功能。
先看看ASP.NET Core里面實(shí)現(xiàn)默認(rèn)MVC路由的配置方式
通常情況下,在使用MVC項(xiàng)目的時(shí)候,默認(rèn)的路由就足夠了,就是常見(jiàn)的通過(guò)Controller和Action獲取具體的方法的方式。
從一個(gè)最基本的項(xiàng)目開(kāi)始,執(zhí)行以下步驟,就可以使得項(xiàng)目支持MVC路由
1.創(chuàng)建一個(gè)空白的ASP.NET Core(Empty) Web項(xiàng)目
2.打開(kāi)project.json,在”dependencies”節(jié)點(diǎn)下增加如下依賴項(xiàng)目
"Microsoft.AspNetCore.Mvc": "1.0.0"
保存之后,項(xiàng)目會(huì)自動(dòng)restore packages到本地
3.加入默認(rèn)MVC路由配置
打開(kāi)Startup.cs文件
在ConfigureServices方法,加入如下代碼
services.AddMvc();
這個(gè)擴(kuò)展方法把Mvc的一些服務(wù)都注入到容器中
在Configure方法,注釋最后兜底的那個(gè)“hello world”語(yǔ)句,這個(gè)語(yǔ)句的作用是不管什么請(qǐng)求都它來(lái)負(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,沒(méi)顯示Hello world說(shuō)明已經(jīng)生效了,只是Empty的項(xiàng)目沒(méi)有Controller,那么定義一個(gè)Controller吧。
手動(dòng)在項(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,填寫(xiě)一些內(nèi)容,再次刷新就可以了。
當(dāng)然這是最基本的配置,比如要進(jìn)一步支持在cshtml里面實(shí)現(xiàn)智能感知,支持靜態(tài)文件路由等還得加入更多的依賴和配置。
看完上述內(nèi)容,你們對(duì)在Core中如何使用MVC路由的配置有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,感謝大家的支持。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。