向我的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