Frage

Zerstört das Hinzufügen eines Webdienstes zu meinem ASP.NET MVC-Projekt das gesamte MVC-Konzept?

Dieser Webdienst (WCF) ist für die Kommunikation mit dem Back-End auf die Modellebene meines MVC-Projekts angewiesen (für mich sieht es also so aus, als müsste er Teil der MVC-Lösung sein).

Soll ich dies zur Controller- oder Modellebene hinzufügen?

War es hilfreich?

Lösung

Es klingt wie Sie Ihr Modell in seine eigene Montage aufgeteilt sollten und verweisen Sie von Ihrem MVC-Anwendung und WCF-Anwendung.

  • YourApp.Data - Shared-Modell und Datenzugriff vielleicht
  • YourApp.Web - Wenn Sie mehr über Ihre Web-Anwendungen teilen
  • YourApp.Web.Mvc
  • YourApp.Web.WebService

Wenn Sie möchten, WebServices MVC-Stil tun sollten Sie vielleicht MVC verwenden Sie Ihre eigene REST-Anwendung zu erstellen.

Andere Tipps

Gibt es einen bestimmten Grund, warum Sie Web-Service zu Ihrer MVC-Anwendung hinzufügen müssen? Es sei denn, es einen bestimmten Grund ist, sollten Sie Ihre Controller in einer RESTful Weise verwenden nur wie einen RESTful Web-Service.

Überprüfen Sie für weitere Informationen zu diesem Beitrag von Rob Connery aus: ASP.Net MVC: Verwenden von RESTful-Architektur

Das Aufteilen des Modells in ein eigenes Projekt bricht nicht das „MVC“-Muster.Zunächst einmal ist es genau das – ein Muster.Die Absicht des MVC-Musters besteht darin, klar zwischen Ihren Daten, den Datenhandlern und den Präsentatoren sowie der Art und Weise, wie Sie zwischen ihnen kommunizieren, abzugrenzen.Der beste Weg, dies zu tun, ist, wie Seb vorgeschlagen hat:

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

Etwas, das Ihnen helfen könnte, ist die MVC Storefront, die Rob Conery zusammengestellt hat.Schauen Sie sich das Video hier an:

MVC Storefront-Videoserie

Und wenn Sie sich den tatsächlichen Code in Ihrem Browser ansehen möchten, um schnell zu sehen, wie er es gemacht hat, gehen Sie hier:MVC Storefront Codeplex-Codebrowser

Ich glaube nicht, das Modell Trennung in seine eigene Montage jedes Lager hat, ob oder nicht Sie MVC verwenden, haben Sie immer noch ein Modell. Wo es ist irrelevant sicher?

Ich habe ein zu gehen habe dies bei tun.

Sehen Sie mein Ergebnis bei meinem Blog

ps: Ich glaube nicht, dass dies das MVC-Konzept bricht so lange, wie Sie denken, dass ein Web-Service das Modell eines Endlagers ist, weil alle ein Web-Service tut, ist eine XML-Dump Rückkehr

.

Ich habe Web-Service zu meiner Anwendung hinzugefügt und es funktioniert gut. Ich glaube nicht, es MVC verletzt, weil es sich um eine alternative Schnittstelle zu Ihrem Modell. MVC ist nicht geeignet für Web-Services, da Web Services keine Aussicht haben.

Denken Sie an Web-Services und Datenbanken als ein in der gleichen. Unter dieser Analogie halte ich es für sinnvoll, Ihren Web-Service ingteractions zu platzieren macht, wo Sie Ihre Datenbanklogik setzen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top