Ich möchte den Unterschied zwischen ServiceStack Web und Microsofts integrierter WebAPI ausprobieren und sehen, welche Vorteile es gibt, also versuche heute, eine ServiceStack Web Service-Anwendung zu bauen
1: Erstellen Sie ein neues .NET 4.5 Web-Empty-Projekt und verwenden Sie dann den Nuget-Befehl, um ServiceStack zu installieren:
Die .net-Version muss größer als oder gleich Version 4.5 sein, das 4.0-Projekt wird nicht erfolgreich installiert! Wie in der untenstehenden Abbildung gezeigt.
2: Erstellen Sie einen neuen Modell- und Serviceordner
Erstellen Sie eine Anfrage- und Antwort-Entität mit folgendem Code:
3: Erstellen Sie eine Service-Schnittstelle im Service-Ordner
4: Erstelle eine neue globale Anwendungsklasse namens Global.asax für dieses Projekt, und der Code ist wie folgt:
5: Ändern Sie die web.config-Konfiguration, fügen Sie einen neuen system.webServer-Knoten hinzu, und die vollständige Konfiguration ist wie folgt:
Bisher wurde unser Dienst abgeschlossen, das Ausführen des Programms kann die Schnittstelle wie folgt sehen,GetAllUserInfoRequest und GetByAgeUserInfoRequest können als tatsächliche Aufrufmethoden verstanden werdenDie darin definierten Parameter können als Anfrageparameter der Methode interpretiert werden, wie in der untenstehenden Abbildung dargestellt:
Die Service-Methoden in ServiceStack heißen Any, Get und Post, die ebenfalls von ServiceStack unterstützte Anfragetypen sind.Jede Möglichkeit, dass der Dienst sowohl in HTTP Get als auch in HTTP Post aufgerufen werden kann。 Dies stärkt und vereinfacht die Implementierung von RESTFull-ähnlichen WebServices. Füge einfach Liebe [Route(...)] zu diesen Methoden hinzu Attribute. In ServiceStack,Der Unterschied zwischen Methoden und Methoden wird durch die Parameter des Dienstes und des Anforderungsobjekts Request DTO unterschieden, anstatt wie bei WCF nach Methodennamen zu unterscheiden. Das bedeutetEin Request-DTO-Objekt kann nicht über mehrere Services in ServiceStack hinweg wiederverwendet werden。
Das Hinzufügen des Formatparameters nach dem Get Request-Parameter kann die Art der Antwort zurückgeben, wie zum Beispiel: format=json, format=xml usw., und es scheint, dass auch das jsonp-Format unterstützt wird.
Zum Beispiel: http://localhost:52079//json/reply/GetAllUserInfoRequest?format=xml
Zusammenfassend lässt sich sagen: Im Vergleich zur Web-API von Microsoft scheint ServiceStack kein Konzept der Methode im Web zu haben, es ist eine andere Anfrage-Entität, eine Methode, sie kann automatisch Interface-Dokumente generieren, und das Format der Antwort kann über Format zurückgegeben werden (obwohl Microsofts ebenfalls möglich ist, aber es fühlt sich einfacher an als Microsoft).
Quelle: https://www.cnblogs.com/woxpp/p/5012947.html
https://msdn.microsoft.com/zh-cn/magazine/dn342871.aspx
https://github.com/ServiceStack/ServiceStack/wiki
Fügen Sie schließlich den Quellcode des Projekts bei!
Touristen, wenn ihr den versteckten Inhalt dieses Beitrags sehen wollt, bitte Antwort
|