Jeg vil gerne prøve forskellen mellem ServiceStack Web og Microsofts indbyggede webapi og se, hvilke fordele der er, så prøv at bygge en ServiceStack Web Service-applikation i dag
1: Opret et nyt .NET 4.5 webtomt projekt, og brug derefter nuget-kommandoen til at installere ServiceStack:
.net-versionen skal være større end eller lig med version 4.5, 4.0-projektet vil ikke blive installeret med succes! Som vist i figuren nedenfor.
2: Opret en ny model- og servicemappe
Opret en anmodnings- og svarenhed med følgende kode:
3: Opret et serviceinterface i servicemappen
4: Opret en ny global applikationsklasse kaldet Global.asax til dette projekt, og koden er som følger:
5: Ændr web.config-konfigurationen, tilføj en ny system.webServer-node, og den komplette konfiguration er som følger:
Indtil videre er vores service afsluttet, og når vi kører programmet, kan man se grænsefladen således,GetAllUserInfoRequest og GetByAgeUserInfoRequest kan forstås som faktiske kaldmetoderDe parametre, der er defineret i den, kan tolkes som anmodningsparametrene for metoden, som vist i figuren nedenfor:
Servicemetoderne i ServiceStack hedder Any, Get og Post, som også understøttes af anmodningstyper af ServiceStack.Enhver måde, hvorpå tjenesten kan kaldes både i HTTP Get og HTTP Post。 Dette styrker og forenkler implementeringen af RESTFull-lignende WebServices. Bare tilføj kærlighed [Rute(...)] til disse metoder Egenskaber. I ServiceStack,Forskellen mellem metoder og metoder skelnes ved parametrene for tjenesten og anmodningsobjektet Request DTO, i stedet for at skelne efter metodenavn som i WCF. Det betyderEt anmodnings-DTO-objekt kan ikke genbruges på tværs af flere Services i ServiceStack。
Hvis man tilføjer formatparameteren efter get request-parameteren, kan man returnere typen af svar, såsom: format=json, format=xml osv., og det ser ud til, at jsonp-formatet også understøttes.
For eksempel: http://localhost:52079//json/reply/GetAllUserInfoRequest?format=xml
For at opsummere, sammenlignet med Microsofts web-API, synes ServiceStack ikke at have noget koncept for metode i web, det er en anden anmodningsenhed som en metode, den kan automatisk generere interface-dokumenter, og svarets format kan returneres via format (selvom Microsofts også er muligt, men det føles enklere end Microsoft)
Reference: https://www.cnblogs.com/woxpp/p/5012947.html
https://msdn.microsoft.com/zh-cn/magazine/dn342871.aspx
https://github.com/ServiceStack/ServiceStack/wiki
Endelig, vedhæft projektets kildekode!
Turister, hvis I vil se det skjulte indhold i dette indlæg, så vær venlig Svar
|