Jag vill prova skillnaden mellan ServiceStack Web och Microsofts inbyggda webapi, och se vilka fördelar det finns, så försök bygga en ServiceStack Web Service-applikation idag
1: Skapa ett nytt .NET 4.5-webbtomt projekt och använd sedan nuget-kommandot för att installera ServiceStack:
.net-versionen måste vara större än eller lika med version 4.5, 4.0-projektet kommer inte att installeras framgångsrikt! Som visas i figuren nedan.
2: Skapa en ny modell och tjänstemapp
Skapa en förfrågan- och svarsenhet med följande kod:
3: Skapa ett servicegränssnitt i servicemappen
4: Skapa en ny global applikationsklass kallad Global.asax till detta projekt, och koden är som följer:
5: Ändra web.config-konfigurationen, lägg till en ny system.webServer-nod, och den fullständiga konfigurationen är följande:
Hittills har vår tjänst slutförts, och när programmet körs kan gränssnittet visas så här,GetAllUserInfoRequest och GetByAgeUserInfoRequest kan förstås som faktiska anropsmetoderDe parametrar som definieras i den kan tolkas som metodens begäransökningsparametrar, som visas i figuren nedan:
Tjänstemetoderna i ServiceStack heter Any, Get och Post, vilka också stöds av förfrågningstyper av ServiceStack.Vilket sätt som helst kan anropa tjänsten både i HTTP Get och HTTP Post。 Detta stärker och förenklar implementeringen av RESTFull-liknande webbtjänster. Lägg bara till kärlek [Route(...)] på dessa metoder Attribut. I ServiceStack,Skillnaden mellan metoder och metoder skiljs åt av parametrarna för tjänsten och förfrågningsobjektet Request DTO, istället för att särskilja efter metodnamn som i WCF. Detta betyderEtt begäran-DTO-objekt kan inte återanvändas över flera tjänster i ServiceStack。
Att lägga till formatparametern efter get-request-parametern kan returnera typen av svar, till exempel: format=json, format=xml, etc., och det verkar som att jsonp-formatet också stöds.
Till exempel: http://localhost:52079//json/reply/GetAllUserInfoRequest?format=xml
Sammanfattningsvis, jämfört med Microsofts webb-API verkar ServiceStack sakna något koncept för metod på webben, det är en annan förfrågan, en metod, den kan automatiskt generera gränssnittsdokument, och svarets format kan returneras via format (även om Microsofts också är möjligt, men det känns enklare än Microsoft)
Referens: https://www.cnblogs.com/woxpp/p/5012947.html
https://msdn.microsoft.com/zh-cn/magazine/dn342871.aspx
https://github.com/ServiceStack/ServiceStack/wiki
Slutligen, bifoga projektets källkod!
Turister, om ni vill se det dolda innehållet i detta inlägg, snälla Svar
|