[英]What is the advantage of using Web API in a ASP.NET MVC (5) project?
[英]Use asp.net mvc within a web api project
我找到的所有鏈接都在談論在 mvc 項目中使用 Web API。
但我想要相反的。
我找不到有關該場景以及如何將 mvc 集成到 Web api 項目的任何信息。
有可能嗎?
我從使用 Web API 的空 ASP.Net 項目設置開始這些說明。
安裝Microsoft.AspNet.Mvc
Nuget 包。
在您配置 Web API 的 global.asax 中設置 MVC 路由和任何其他 MVC 配置。 如果您願意,您可以在單獨的類中執行此配置並從 global.asax 中調用它。
例子:
RouteTable.Routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
將 MVC 控制器添加到controllers
文件夾。 這應該是一個單獨的文件夾,用於存放您的 Web API 控制器,並且不必稱為controllers
。
創建一個Views
文件夾。 為了使這更容易和更省時,在一次性解決方案中創建一個 MVC 項目並復制它的Views
文件夾。 特別是,任何你想要的文件拷貝過來的Views\\Shared
文件夾,所有.config
內部文件Views
文件夾中。 沒有這些,您的 MVC 視圖將無法工作。
如果您為 #4 創建了一個一次性項目,請查看其 web.config,尤其是<system.web>
設置。
如果你沒有,這是我的一部分:
<system.web>
<authentication mode="None" />
<compilation debug="true" targetFramework="4.5.2" />
<httpRuntime targetFramework="4.5.2" />
</system.web>
您現在應該讓 MVC 與 Web API 一起在 ASP.Net 項目中工作。
對於更多的組織,您可以創建一個MVC 區域。 開始時您不需要區域,如果您稍后決定添加區域,將現有 MVC 代碼移動到一個或多個新區域很容易。
有關更多信息,請閱讀David Paquette 的這篇博文。 是的,這篇文章是關於 Web 表單的,但說明和概念是一致的。 另外,Web Forms 只是一個帶有 Web Forms的 ASP.Net 項目,就像 Web API 一樣。
它很簡單,我在幾個站點上使用它 - 創建一個新區域(我使用“UI”)並將其視為一個簡單的 MVC 站點。
您將不得不為此修復您的默認路由: 發現多種類型與名為“Home”的控制器相匹配
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.