Noriu išbandyti skirtumą tarp "ServiceStack Web" ir "Microsoft" integruotos žiniatinklio API ir pamatyti, kokie yra privalumai, todėl pabandykite sukurti "ServiceStack Web Service" programą šiandien
1: Sukurkite naują tuščią .NET 4.5 žiniatinklio projektą ir naudokite komandą nuget, kad įdiegtumėte "ServiceStack":
.NET versija turi būti didesnė arba lygi 4.5 versijai, 4.0 projektas nebus sėkmingai įdiegtas! Kaip parodyta paveikslėlyje žemiau.
2: Sukurkite naują modelį ir aptarnavimo aplanką
Sukurkite užklausos ir atsakymo objektą naudodami šį kodą:
3: Paslaugų aplanke sukurkite paslaugos sąsają
4: Sukurkite naują pasaulinę programos klasę, pavadintą Global.asax šiam projektui, ir kodas yra toks:
5: Pakeiskite web.config konfigūraciją, pridėkite naują system.webServer mazgą ir visa konfigūracija bus tokia:
Iki šiol mūsų paslauga buvo baigta, paleidus programą sąsaja gali būti rodoma taip:"GetAllUserInfoRequest" ir "GetByAgeUserInfoRequest" gali būti suprantami kaip faktiniai skambučių metodaiJame apibrėžti parametrai gali būti interpretuojami kaip metodo užklausos parametrai, kaip parodyta paveikslėlyje žemiau:
"ServiceStack" aptarnavimo metodai pavadinti "Any", "Get" ir "Post", kuriuos "ServiceStack" taip pat palaiko užklausų tipai.Bet kokia priemonė, kad paslauga gali būti iškviesta tiek HTTP Get, tiek HTTP Post。 Tai sustiprina ir supaprastina RESTFull stiliaus žiniatinklio paslaugų diegimą. Tiesiog pridėkite meilę [Maršrutas(...)] šiais metodais Atributai. "ServiceStack"Skirtumas tarp metodų ir metodų išsiskiria paslaugos ir užklausos objekto parametrais Užklausa DTO, o ne diferencijuoti pagal metodo pavadinimą, kaip WCF. Tai reiškia, kadUžklausos DTO objekto negalima pakartotinai naudoti keliose ServiceStack tarnybose。
Pridėjus formato parametrą po parametro gauti užklausą, gali būti grąžintas atsakymo tipas, pvz.: format=json, format=xml ir kt., ir atrodo, kad jsonp formatas taip pat palaikomas.
Pavyzdžiui: http://localhost:52079//json/reply/GetAllUserInfoRequest?format=xml
Apibendrinant, palyginti su "Microsoft" žiniatinklio API, atrodo, kad "ServiceStack" neturi metodo sąvokos žiniatinklyje, tai yra kitoks užklausos objektas yra metodas, jis gali automatiškai generuoti sąsajos dokumentus, o atsakymo formatas gali būti grąžintas per formatą (nors "Microsoft" taip pat įmanoma, bet jis atrodo paprastesnis nei "Microsoft")
Kodas: https://www.cnblogs.com/woxpp/p/5012947.html
https://msdn.microsoft.com/zh-cn/magazine/dn342871.aspx
https://github.com/ServiceStack/ServiceStack/wiki
Galiausiai pridėkite projekto šaltinio kodą!
Turistai, jei norite pamatyti paslėptą šio įrašo turinį, prašome Atsakyti
|