Ik wil het verschil tussen ServiceStack Web en Microsofts ingebouwde webapi uitproberen en zien welke voordelen die zijn, dus probeer vandaag nog een ServiceStack Web Service-applicatie te bouwen
1: Maak een nieuw .NET 4.5 web leeg project aan, en gebruik vervolgens het nuget-commando om ServiceStack te installeren:
De .net-versie moet groter zijn dan of gelijk aan versie 4.5, het 4.0-project zal niet succesvol worden geïnstalleerd! Zoals te zien is in de onderstaande figuur.
2: Maak een nieuw model en servicemap aan
Maak een request-and-response-entiteit aan met de volgende code:
3: Maak een service-interface aan in de servicemap
4: Maak een nieuwe globale applicatieklasse genaamd Global.asax aan voor dit project, en de code is als volgt:
5: Wijzig de web.config-configuratie, voeg een nieuwe system.webServer-node toe, en de volledige configuratie is als volgt:
Tot nu toe is onze dienst voltooid, het uitvoeren van het programma kan de interface als volgt zien,GetAllUserInfoRequest en GetByAgeUserInfoRequest kunnen worden begrepen als daadwerkelijke aanroepmethodenDe parameters die erin zijn gedefinieerd, kunnen worden geïnterpreteerd als de verzoekparameters van de methode, zoals weergegeven in de onderstaande figuur:
De servicemethoden in ServiceStack heten Any, Get en Post, die ook door ServiceStack ondersteund worden als verzoektypen.Elke mogelijkheid is dat de dienst zowel in HTTP Get als HTTP Post kan worden aangeroepen。 Dit versterkt en vereenvoudigt de implementatie van RESTFull-achtige WebServices. Voeg gewoon liefde [Route(...)] toe aan deze methoden Attributen. In ServiceStack,Het verschil tussen methoden en methoden wordt onderscheiden door de parameters van de service en het verzoekobject Request DTO, in plaats van te onderscheiden op methodnaam zoals in WCF. Dit betekentEen request DTO-object kan niet worden hergebruikt over meerdere Services in ServiceStack。
Door de formatparameter na de get request-parameter toe te voegen, kan het type antwoord worden teruggegeven, zoals: format=json, format=xml, enzovoort, en het lijkt erop dat het jsonp-formaat ook wordt ondersteund.
Bijvoorbeeld: http://localhost:52079//json/reply/GetAllUserInfoRequest?format=xml
Samenvattend: vergeleken met Microsofts web-API lijkt ServiceStack geen concept van methode te hebben in het web; het is een andere request entity is een methode, het kan automatisch interface-documenten genereren, en het formaat van het antwoord kan via het format worden teruggegeven (hoewel Microsoft's ook mogelijk is, maar het voelt eenvoudiger dan Microsoft)
Referentie: https://www.cnblogs.com/woxpp/p/5012947.html
https://msdn.microsoft.com/zh-cn/magazine/dn342871.aspx
https://github.com/ServiceStack/ServiceStack/wiki
Voeg tot slot de broncode van het project toe!
Toeristen, als jullie de verborgen inhoud van dit bericht willen zien, alsjeblieft Antwoord
|