Frage

Ich entwickle eine ASP.NET MVC 3 -Anwendung. Ich brauche diese Anwendung, um eine API zu verwenden, die ich auch implementieren muss. Die API sollte beide bei ASP.NET MVC -Controller -Aktionen und AJAX verfügbar sein. Jetzt ist es ziemlich einfach, eine API mit ASP.NET MVC zu erstellen, aber ist es möglich, diese von anderen ASP.NET -MVC -Websiteaktionen zu verwenden? Ich denke, die WCF ist ziemlich einfach zu bedienen, da es sich nur um eine Servicereferenz handelt.

Andere Benutzer der API könnten Windows Phone und iPhone sein.

Aktualisieren:

Viele sehen die API nur als einen Ort, an dem Sie Daten konsumieren, aber was ist mit dem Teil, an dem Sie Befehle ausführen oder Dinge tun möchten, z. B. Kunden hinzufügen oder Foo ändern möchten?

War es hilfreich?

Lösung

Möglicherweise möchten Sie unsere neue WCF -Web -API überprüfen, die bei PDC angekündigt wurde. Wir haben kürzlich ein großes Upgrade veröffentlicht. Die WCF -Web -API wurde speziell so konzipiert, dass Sie APIs auf reine HTTP -Weise einem Client -Bereich aussetzen können. Es ist leicht, bietet eine schöne Konfigurationsgeschichte (keine Konfigurationsdateien) und ist auch viel einfacher zu testen.

Sie können die Bits unter herunterladen wcf.codeplex.com. Es enthält verschiedene Proben, und es gibt auch einen Satz von Nuget Packs, um Sie zu starten. Suchen nach webapi.all auf Nuget.

Andere Tipps

Die Art und Weise, wie ich dies gerne mache, ist mit erholsamen Regler. Sie können JSON zurückgeben und Ihre Anrufe mit JavaScript auf Ihrer eigenen Website verwenden. Andere Websites würden JSON mit ziemlicher Sicherheit verstehen und können Ihre API ziemlich leicht konsumieren. Dies ist viel einfacher zu schreiben und zu testen als eine schwere WCF -Ebene.

Schauen Sie sich diese Frage für einige Beispiel -REST -Frameworks für MVC an:

ASP.NET MVC REST -Frameworks

Eine der neueren Methoden zur Erreichung von Datenfeeds ist die Verwendung Odata. Scott Hanselman hat eine großartige Einführung in sie in Erstellen einer Odata -API für Stackoverflow einschließlich XML und JSON in 30 Minuten.

Sie können sogar Linq -Abfragen in Ihre URLs werfen, um genau die Daten abzurufen, die Sie benötigen.

WCF JSON Bindung war wirklich schrecklich, als ich es das letzte Mal benutzt habe. WCF verfügt außerdem über alle möglichen verrückten Regeln für Streams und wie Sie [MessageBody] Attribute für alles verwenden müssen.

Es war eine echte Pita für mich.


Ich wusste, dass ich schon so etwas beantwortet habe:

Was ist der beste Weg, um eine erholsame Architektur in .NET heute zu implementieren?

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