ASP.NET MVC & Web Services

前端 未结 7 1309
梦谈多话
梦谈多话 2020-12-02 09:30

Does adding a Web Service to my ASP.NET MVC project break the whole concept of MVC?

That Web Service (WCF) depends on the Model layer from my MVC project to communic

相关标签:
7条回答
  • 2020-12-02 09:38

    It sounds like you should split out your model into its own assembly and reference it from your MVC-application and WCF-application.

    • YourApp.Data -- Shared model and data access maybe
    • YourApp.Web -- If you want to share more across your web-apps
    • YourApp.Web.Mvc
    • YourApp.Web.WebService

    If you want to do WebServices MVC-style maybe you should use MVC to build your own REST-application.

    0 讨论(0)
  • 2020-12-02 09:38

    I have added web services to my application and it works well. I don't believe it violates MVC because it is an alternative interface to your model. MVC is not appropriate for web services because web services don't have a view.

    0 讨论(0)
  • 2020-12-02 09:49

    Think of web services and databases as one in the same. Under this analogy, I think it makes sense to place your web service ingteractions where you place your database logic.

    0 讨论(0)
  • 2020-12-02 09:53

    Separating the Model into it's own project is not breaking the "MVC" pattern. First off, it is just that -- a pattern. The intention of the MVC pattern is to clearly delineate between your data, the data handlers, and the presenters and the way you interface between them. The best way to do it is how Seb suggested:

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

    Something that might help you out is the MVC Storefront that Rob Conery put together. Go watch the video's here:

    MVC Storefront Video Series

    And if you want to look at the actual code in your browser to quickly see how he did it, go here: MVC Storefront Codeplex Code Browser

    0 讨论(0)
  • 2020-12-02 09:56

    I don't think separating the model into it's own assembly has any bearing on whether or not you're using MVC, you still have a model. Where it is is irrelevant surely?

    0 讨论(0)
  • 2020-12-02 10:00

    Is there a specific reason you need to add web services to your MVC application? Unless there is a specific reason you should use your controllers in a RESTful manner just as you would a RESTful web service.

    Check out this post from Rob Connery for more information: ASP.Net MVC: Using RESTful architecture

    0 讨论(0)
提交回复
热议问题