2014-10-07 61 views
2

我正在創建一個新的網站和web api。使用VS2013模板,我選擇webapi模板(單獨登錄)。該模板創建一個mvc asp網站。在一個項目中的最佳做法webapi /網站

將我的網站與我的web api放在同一個項目中是否有任何問題,或者是否應該在我的解決方案中創建兩個項目?一個用於API,另一個用於網站?

我想讓桌面應用程序也可以使用api。

回答

0

不,在ASP.NET MVC項目中包含WebAPI代碼沒有什麼「錯誤」。最簡單的是,將WebAPI放在一個單獨的項目中僅僅是代碼組織,在另一個項目中使用任何代碼都是關於代碼組織的。如果你的項目很小,將會保持很小,並且你是唯一一個在項目上工作的人,而不是像在ASP.NET MVC網站上那樣將API留在同一個項目中。

但是,如果您希望其他人在該項目上工作,那麼您希望代碼庫增長。比起你應該從一開始就組織好你的代碼,並將WebAPI放置在一個單獨的項目中。

但是對於一個較短的回答:這是錯誤的,你應該始終在每一個時刻嚴密地組織你的代碼,否則它會失去控制,混亂和未來很難維護。

所以把WebAPI放在一個單獨的類庫項目中。

+0

謝謝,我知道這是要走的路,但試圖證明採取簡單的方法。 – ginalster 2014-10-07 05:45:58

3

正如Brian所說沒有錯,但它不僅僅是代碼組織,如果你將它們放在同一個項目中,那麼如果你正在構建SPA(從瀏覽器發出XHR請求),則不需要啓用CORS API, ,他們都將在同一個域名上。 從安全性的角度來看,它會變得複雜,因爲您將爲MVC應用程序使用Cookie,併爲API使用不記名令牌。對於VS 2013 Web API模板和個人賬戶,我並不是很喜歡,因爲它添加了大量可能需要使用或不知道其功能的中間件和樣板代碼。 我的建議是將它們從一開始分開,並控制這兩個項目。 您可以閱讀更多關於如何從頭開始構建API以及您需要的組件here

+0

感謝您確認我不想接受的內容。 :)我現在將使用模板,但也會覆蓋您的文章。 – ginalster 2014-10-07 05:47:14

相關問題