我正在創建一個新的MVC4項目,並且研究讓我相信從JavaScript到服務器端的通信現在可以通過Web API框架而不是控制器操作更好地實現。我的理解是否正確?單獨項目中的MVC解決方案中的Web API
我假設我可以在Web API和MVC控制器之間共享我的所有屬性等,所以在面對它時,它對我來說似乎並不是一個巨大的改變。
當我設置應用程序時,我喜歡將組件分解到項目中。我的計劃是有一個MVC項目和一個Web API項目。但是我遇到了問題。例如,我已經結束了2個應用程序,分開的路由設置等等。
所以我的問題是,在MVC應用程序中,應該將Web API框架放在同一個項目中,還是應該將Web API分開納入自己的項目並解決問題?
+1優秀的答案。我最初認爲MVC和WebAPI可能會共享一些代碼,特別是在過濾器,模型綁定等情況下,但它們完全不同。 – VJAI
感謝您的詳細回覆。我正在使用mvc控制器創建一個新的Web應用程序來爲我的視圖提供內容。我的計劃是使用web api來處理來自我的客戶端js(網站包含一些豐富的功能)通過web api到服務器的通信。一些第三方正在構建網站的組件,這些組件將被集成到網站中,並將使用Web API與服務器進行通信。所以從我閱讀的內容來看,對於這樣的設置,您的建議是在一個項目中使用mvc還是web api?也許有一個「api」文件夾中的web api。 – amateur
是的,在這種情況下,只需在Visual Studio中啓動一個新的MVC4項目,並在提示輸入項目模板(第二個屏幕)時選擇Web API。這將從Nuget安裝Web API,並且在你描述的情況下應該是完全正確的。你得到的是單獨的Web API配置文件插入Global.asax。此外,您可能希望將API控制器分爲單獨的文件夾(默認情況下,它們與MVC控制器一起)。最後,默認路由顯然是單獨配置的,不會互相干擾 –