Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 24900|Atsakyti: 4

[WebAPI] Mano pirmasis ServiceStack Web Service programos kūrimas

[Kopijuoti nuorodą]
Paskelbta 2018-01-15 11:06:52 | | | |
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šomeAtsakyti





Ankstesnis:System.NotImplementedException:“未实现该方法或操作。”
Kitą:"Visual Studio" prideda galingas "Vim" redagavimo galimybes, kad būtų sunku užkirsti kelią!
Paskelbta 2018-03-06 15:28:29 |
Klausyk, kaip yra?
Paskelbta 2019-04-14 20:08:39 |

Klausyk, kaip yra?
Paskelbta 2019-08-08 08:29:02 |
ServiceStack žiniatinklio paslauga
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com