Es vēlos izmēģināt atšķirību starp ServiceStack Web un Microsoft iebūvēto webAPI un redzēt, kādas priekšrocības ir, tāpēc mēģiniet izveidot ServiceStack Web Service lietojumprogrammu šodien
1: Izveidojiet jaunu .NET 4.5 tīmekļa tukšu projektu un pēc tam izmantojiet komandu nuget, lai instalētu ServiceStack:
.NET versijai jābūt lielākai vai vienādai ar versiju 4.5, 4.0 projekts netiks veiksmīgi instalēts! Kā parādīts zemāk redzamajā attēlā.
2: Izveidojiet jaunu modeli un servisa mapi
Izveidojiet pieprasījuma un atbildes entītiju ar šādu kodu:
3: Izveidojiet pakalpojuma interfeisu servisa mapē
4: Izveidojiet jaunu globālo lietojumprogrammu klasi ar nosaukumu Global.asax šim projektam, un kods ir šāds:
5: Modificējiet web.config konfigurāciju, pievienojiet jaunu system.webServer mezglu, un pilnīga konfigurācija ir šāda:
Līdz šim mūsu pakalpojums ir pabeigts, palaižot programmu, interfeiss ir šāds:GetAllUserInfoRequest un GetByAgeUserInfoRequest var saprast kā faktiskās zvana metodesTajā definētos parametrus var interpretēt kā metodes pieprasījuma parametrus, kā parādīts zemāk redzamajā attēlā:
ServiceStack pakalpojuma metodes tiek nosauktas par Any, Get un Post, kas arī tiek atbalstīti ServiceStack pieprasījumu tipiem.Jebkurš līdzeklis, ka pakalpojumu var izsaukt gan HTTP Get, gan HTTP Post。 Tas stiprina un vienkāršo RESTFull stila tīmekļa pakalpojumu ieviešanu. Vienkārši pievienojiet mīlestību [Maršruts (...)] par šīm metodēm Atribūti. Pakalpojumā ServiceStackAtšķirība starp metodēm un metodēm atšķiras ar pakalpojuma parametriem un pieprasījuma objektu Pieprasījums DTO, nevis diferencējot pēc metodes nosaukuma, kā tas ir WCF. Tas nozīmēPieprasījuma DTO objektu nevar atkārtoti izmantot vairākos ServiceStack pakalpojumos。
Pievienojot formāta parametru pēc parametra get request, var atgriezt atbildes veidu, piemēram: format=json, format=xml utt., un šķiet, ka tiek atbalstīts arī jsonp formāts.
Piemēram: http://localhost:52079//json/reply/GetAllUserInfoRequest?format=xml
Rezumējot, salīdzinot ar Microsoft tīmekļa API, šķiet, ka ServiceStack tīmeklī nav metodes jēdziena, tā ir atšķirīga pieprasījuma vienība ir metode, tā var automātiski ģenerēt interfeisa dokumentus, un atbildes formātu var atgriezt, izmantojot formātu (lai gan Microsoft ir arī iespējams, bet tas šķiet vienkāršāks nekā Microsoft)
Atsauce: https://www.cnblogs.com/woxpp/p/5012947.html
https://msdn.microsoft.com/zh-cn/magazine/dn342871.aspx
https://github.com/ServiceStack/ServiceStack/wiki
Visbeidzot, pievienojiet projekta avota kodu!
Tūristi, ja vēlaties redzēt šīs ziņas slēpto saturu, lūdzu Atbildi
|