Chcem vyskúšať rozdiel medzi ServiceStack Web a vstavaným webapi od Microsoftu a zistiť, aké sú jeho výhody, takže sa pokúste dnes vytvoriť aplikáciu ServiceStack Web Service
1: Vytvorte nový .NET 4.5 web prázdny projekt a potom použite príkaz nuget na inštaláciu ServiceStack:
Verzia .NET musí byť väčšia alebo rovná verzii 4.5, projekt 4.0 nebude úspešne nainštalovaný! Ako je znázornené na obrázku nižšie.
2: Vytvoriť nový model a servisný priečinok
Vytvorte entitu požiadavky a odpovede s nasledujúcim kódom:
3: Vytvoriť servisné rozhranie v servisnom priečinku
4: Vytvorte novú globálnu aplikačnú triedu s názvom Global.asax pre tento projekt a kód je nasledovný:
5: Upravte konfiguráciu web.config, pridajte nový uzol system.webServer a kompletná konfigurácia je nasledovná:
Doteraz bola naša služba dokončená, pri spustení programu vidíte rozhranie nasledovne,GetAllUserInfoRequest a GetByAgeUserInfoRequest možno chápať ako skutočné metódy volaniaParametre definované v ňom možno interpretovať ako požiadavkové parametre metódy, ako je znázornené na obrázku nižšie:
Metódy služieb v ServiceStack sa nazývajú Any, Get a Post, ktoré sú tiež podporované typy požiadaviek v ServiceStack.Akýkoľvek spôsob, že služba môže byť volaná v HTTP Get aj HTTP Post。 To posilňuje a zjednodušuje implementáciu webslužieb v štýle RESTFull. Stačí pridať lásku [Route(...)] na tieto metódy Atribúty. V ServiceStack,Rozdiel medzi metódami a metódami sa rozlišuje podľa parametrov služby a objektu požiadavky Request DTO, namiesto rozlišovania podľa názvu metódy ako vo WCF. To znamenáObjekt DTO požiadavky nemôže byť opakovane použitý naprieč viacerými službami v ServiceStack。
Pridaním parametra formátu za parameter get request sa môže vrátiť typ odpovede, napríklad: format=json, format=xml, atď., a zdá sa, že je podporovaný aj formát jsonp.
Napríklad: http://localhost:52079//json/reply/GetAllUserInfoRequest?format=xml
Na záver, v porovnaní s webovým API od Microsoftu sa zdá, že ServiceStack nemá pojem o metóde na webe, je to iná entita požiadavky, metóda, dokáže automaticky generovať dokumenty rozhrania a formát odpovede sa dá vrátiť vo formáte (hoci je možné aj od Microsoftu, ale pôsobí jednoduchšie ako Microsoft).
Referencia: https://www.cnblogs.com/woxpp/p/5012947.html
https://msdn.microsoft.com/zh-cn/magazine/dn342871.aspx
https://github.com/ServiceStack/ServiceStack/wiki
Nakoniec pripojte zdrojový kód projektu!
Turisti, ak chcete vidieť skrytý obsah tohto príspevku, prosím. Odpoveď
|