問題
想創(chuàng)建一個(gè)從 ASP.NET MVC controller 到 ASP.NET Web API controller 的直接鏈接,或者反向鏈接。
解決方案
可以使用 System.Web.Http.Routing.UrlHelp 的實(shí)例來創(chuàng)建一個(gè)指向 Controller的鏈接,來暴露ApiController(作為 Url 屬性)。著和在 RequestContext 上一樣,會(huì)被附加到 HttpRequestMessage 實(shí)例。為了達(dá)到這個(gè)目的,我們需要調(diào)用鏈接方法或路由方法,然后傳入 MVC 路由的名稱和默認(rèn)路由(Controller 名字,Action名字,以及 Action 相關(guān)的參數(shù))。
在 MVC Controller 這邊,System.Web.Mvc.UrlHelp,掛在基礎(chǔ) MVC 基礎(chǔ) Controller類,可以通過HttpRouteUrl 生成 Web API 鏈接
工作原理
當(dāng)使用 ASP.NET Web API 作為現(xiàn)有 MVC 應(yīng)用程序一部分的時(shí)候,有一種很常見的需求,就是在兩種類型的Controller 之間可以互相鏈接。當(dāng)我們從 Web API 上創(chuàng)建一個(gè)到MVC Controller 的鏈接的時(shí)候,實(shí)際上使用