Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 24900|Antwoord: 4

[WebAPI] Mijn eerste ServiceStack Web Service-applicatie build

[Link kopiëren]
Geplaatst op 15-01-2018 11:06:52 | | | |
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, alsjeblieftAntwoord





Vorig:System.NotImplementedException:“未实现该方法或操作。”
Volgend:Visual Studio voegt de krachtige bewerkingsmogelijkheden van Vim toe om het moeilijk te voorkomen te maken!
Geplaatst op 06-03-2018 15:28:29 |
Kijk, hoe is het?
Geplaatst op 14-04-2019 20:08:39 |

Kijk, hoe is het?
Geplaatst op 08-08-2019 08:29:02 |
ServiceStack Web Service
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com