2016-12-25 81 views
5

我知道Asp.Net MVCAsp.Net Web API合併爲一個代碼Asp.net Core,他們從Controller基類繼承並能的IActionResult所有收益的實現。它是用於web api的MVC或Json視圖。Web應用程序VS網絡API項目類型

但是,當我想創建一個Asp.net Core項目,它提供了兩個模板(Web Application and Web Api),根據我在上面說,有這些控制器之間沒有差異,爲什麼會出現兩個模板?有沒有我不知道的差異?

回答

6

該Web應用程序模板將創建文件夾和導入一個Web應用程序所需的東西,如jQuery,CSS等。Web API模板將創建文件夾和導入一個Web API的東西。此外,默認情況下創建的控制器將具有不同的實現,例如,Web應用程序將返回視圖,視圖將在適當的文件夾中創建。

因此,儘管它們來自相同的控制器,但每種類型的項目都需要不同的依賴關係。

如果我是你,我會繼續爲每種類型創建一個並查看其差異。

如果您想在同一個項目中同時使用web api和web應用程序,請使用areas。這樣你的web和api將有單獨的控制器,文件夾和模型。同樣,如果你想將它們分開,將很容易做到這一點。模板

+0

我想建立一個項目,它有兩個API和控制器,它更好,我把它們彼此分開,並在不同的項目或同一個項目中創建它們(在控制器文件夾中我有兩個MVC Api控制器)? – pejman

+0

查看我的編輯請 – CodingYoshi

+0

是否有任何優勢(或劣勢)創建一個空白的解決方案,然後添加一個asp.net核心Web應用程序項目和一個asp.net核心web api項目vs只是一個單獨的文件夾或區域的api Web應用程序項目中的項目? – Reza

3

的區別2之間是 -

的WebAPI模板開始用控制器類,可以讓你在/ api來RESTful請求響應/值端點。

Web應用程序模板將爲您提供一個啓用了MVC框架的項目,其中包含一些Razor視圖,安裝了引導CSS框架和jQuery庫。

如果你想用MVC和API控制器創建項目,那麼我會建議使用ASP.NET核心Web應用程序模板並添加需求依賴項。