簡體   English   中英

在 web api 項目中使用 asp.net mvc

[英]Use asp.net mvc within a web api project

我找到的所有鏈接都在談論在 mvc 項目中使用 Web API。

但我想要相反的。

我找不到有關該場景以及如何將 mvc 集成到 Web api 項目的任何信息。

有可能嗎?

我從使用 Web API 的空 ASP.Net 項目設置開始這些說明。

  1. 安裝Microsoft.AspNet.Mvc Nuget 包。

  2. 在您配置 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
);
  1. 將 MVC 控制器添加到controllers文件夾。 這應該是一個單獨的文件夾,用於存放您的 Web API 控制器,並且不必稱為controllers

  2. 創建一個Views文件夾。 為了使這更容易和更省時,在一次性解決方案中創建一個 MVC 項目並復制它的Views文件夾。 特別是,任何你想要的文件拷貝過來的Views\\Shared文件夾,所有.config內部文件Views文件夾中。 沒有這些,您的 MVC 視圖將無法工作。

  3. 如果您為 #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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM