48 votes

ASP.NET MVC et services Web

L'ajout d'un service Web à mon projet ASP.NET MVC annule-t-il tout le concept de MVC?

Ce service Web (WCF) dépend de la couche modèle de mon projet MVC pour communiquer avec le back-end (il me semble donc que cela doit faire partie de la solution MVC).

Dois-je ajouter ceci à la couche Contrôleur ou Modèle?

27voto

Seb Nilsson Points 8619

Il semble que vous deviez diviser votre modèle en son propre assemblage et le référencer à partir de votre application MVC et de votre application WCF.

  • YourApp.Data - Modèle partagé et accès aux données peut-être
  • YourApp.Web - Si vous souhaitez partager davantage sur vos applications Web
  • VotreApp.Web.Mvc
  • VotreApp.Web.WebService

Si vous souhaitez utiliser WebServices à la manière de MVC, vous devriez peut-être utiliser MVC pour créer votre propre application REST.

19voto

SaaS Developer Points 4577

Y a-t-il une raison spécifique pour laquelle vous devez ajouter des services Web à votre application MVC? À moins d'une raison particulière, vous devez utiliser vos contrôleurs de manière RESTful exactement comme vous le feriez avec un service Web RESTful.

Découvrez ce message de Rob Connery pour plus d'informations: ASP.Net MVC: utilisation de l'architecture RESTful

11voto

MunkiPhD Points 2610

Séparer le Modèle dans son propre projet n'est pas de casser le "MVC". Tout d'abord, il est juste que-un modèle. L'intention du modèle MVC est de définir clairement vos données, les gestionnaires de données, et les présentateurs et la façon dont vous l'interface entre eux. La meilleure façon de le faire est de savoir comment Seb a suggéré:

  • YourApp.Données
  • YourApp.Web.Mvc
  • YourApp.Web.WebService

Quelque chose qui pourrait vous aider est le MVC Vitrine que Rob Conery mettre ensemble. Allez regarder la vidéo ici:

MVC Vitrine Vidéo de la Série

Et si vous voulez regarder le code dans votre navigateur afin de voir rapidement comment il a fait, rendez-vous ici: MVC Vitrine Codeplex Code Navigateur

1voto

Zac Points 101

J'ai essayé de faire ça.

Voir mon résultat sur mon blog

ps: Je ne pense pas que cela rompe le concept MVC tant que vous pensez qu'un service Web est le modèle d'un référentiel, car tout service Web renvoie un vidage XML.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X