ASP.NET MVC和Web服务

ANa*_*imi 48 architecture asp.net asp.net-mvc wcf web-services

向我的ASP.NET MVC项目添加Web服务是否打破了MVC的整个概念?

该Web服务(WCF)依赖于我的MVC项目中的Model层与后端进行通信(因此我认为它需要成为MVC解决方案的一部分).

我应该将它添加到Controller或Model层吗?

Seb*_*son 27

听起来你应该将模型拆分成自己的程序集,并从MVC应用程序和WCF应用程序中引用它.

  • YourApp.Data - 可能是共享模型和数据访问
  • YourApp.Web - 如果您想在您的网络应用中分享更多内容
  • YourApp.Web.Mvc
  • YourApp.Web.WebService

如果你想做WebServices MVC风格,你应该使用MVC来构建自己的REST应用程序.


Saa*_*per 19

您是否需要向MVC应用程序添加Web服务?除非有特定原因,否则您应该以RESTful方式使用控制器,就像使用RESTful Web服务一样.

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

  • 链接已断开,我无法找到更新的链接.内容可在Wayback Machine上找到:http://web.archive.org/web/20130119131317/http://wekeroad.com/2007/12/06/aspnet-mvc-using-restful-architecture (2认同)

Mun*_*PhD 11

将模型分离到它自己的项目中并没有打破"MVC"模式.首先,它只是 - 一种模式.MVC模式的目的是清楚地描述您的数据,数据处理程序和演示者以及它们之间的接口方式.最好的方法是Seb建议如何:

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

可能对你有帮助的是Rob Conery整合的MVC店面.去观看视频:

MVC店面视频系列

如果你想查看浏览器中的实际代码以快速了解他是如何做到的,请转到此处: MVC Storefront Codeplex Code Browser