簡體   English   中英

ASP.NET MVC和Web服務

[英]ASP.NET MVC & Web Services

向我的ASP.NET MVC項目添加Web服務是否打破了MVC的整個概念?

該Web服務(WCF)依賴於我的MVC項目中的Model層與后端進行通信(因此我認為它需要成為MVC解決方案的一部分)。

我應該將它添加到Controller或Model層嗎?

聽起來你應該將模型拆分成自己的程序集,並從MVC應用程序和WCF應用程序中引用它。

  • YourApp.Data - 可能是共享模型和數據訪問
  • YourApp.Web - 如果您想在您的網絡應用中分享更多內容
  • YourApp.Web.Mvc
  • YourApp.Web.WebService

如果你想做WebServices MVC風格,你應該使用MVC來構建自己的REST應用程序。

您是否需要向MVC應用程序添加Web服務? 除非有特定原因,否則您應該以RESTful方式使用控制器,就像使用RESTful Web服務一樣。

查看Rob Connery的這篇文章了解更多信息: ASP.Net MVC:使用RESTful架構

將模型分離到它自己的項目中並沒有打破“MVC”模式。 首先,它只是 - 一種模式。 MVC模式的目的是清楚地描述您的數據,數據處理程序和演示者以及它們之間的接口方式。 最好的方法是Seb建議如何:

  • YourApp.Data
  • YourApp.Web.Mvc
  • YourApp.Web.WebService

可能對你有幫助的是Rob Conery整合的MVC店面。 去觀看視頻:

MVC店面視頻系列

如果你想查看瀏覽器中的實際代碼以快速了解他是如何做到的,請轉到此處: MVC Storefront Codeplex Code Browser

我不認為將模型分成它自己的程序集與你是否使用MVC有任何關系,你仍然有一個模型。 哪里肯定無關緊要?

我做了這件事。

我的博客上查看我的結果

ps:我不相信這會打破MVC概念,只要你認為Web服務是存儲庫的模型,因為所有的Web服務都會返回XML轉儲。

我已將Web服務添加到我的應用程序中,並且運行良好。 我不相信它違反了MVC,因為它是您模型的替代界面。 MVC不適用於Web服務,因為Web服務沒有視圖。

將Web服務和數據庫視為同一個。 根據這個類比,我認為將您的Web服務輸入放置在放置數據庫邏輯的位置是有意義的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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