Vreau să încerc diferența dintre ServiceStack Web și webapi-ul integrat de la Microsoft și să văd ce avantaje există, așa că încearcă să construiești o aplicație ServiceStack Web Service chiar astăzi
1: Creează un nou proiect web gol .NET 4.5, apoi folosește comanda nuget pentru a instala ServiceStack:
.NET trebuie să fie mai mare sau egală cu versiunea 4.5, proiectul 4.0 nu va fi instalat cu succes! Așa cum se vede în figura de mai jos.
2: Crearea unui nou model și folder de servicii
Creează o entitate de cerere și răspuns cu următorul cod:
3: Crearea unei interfețe de serviciu în folderul de servicii
4: Creează o nouă clasă globală de aplicații numită Global.asax pentru acest proiect, iar codul este următorul:
5: Modifică configurația web.config, adaugă un nod nou system.webServer și configurația completă este următoarea:
Până acum, serviciul nostru a fost finalizat, rularea programului poate vedea interfața astfel,GetAllUserInfoRequest și GetByAgeUserInfoRequest pot fi înțelese ca metode reale de apelParametrii definiți în ea pot fi interpretați ca parametrii de cerere ai metodei, așa cum este prezentat în figura de mai jos:
Metodele de serviciu din ServiceStack se numesc Any, Get și Post, care sunt de asemenea tipuri de cereri suportate de ServiceStack.Orice înseamnă că serviciul poate fi apelat atât în HTTP Get, cât și în HTTP Post。 Acest lucru întărește și simplifică implementarea WebServices în stil RESTFull. Doar adaugă dragoste [Route(...)] la aceste metode Atribute. În ServiceStack,Diferența dintre metode și metode se distinge prin parametrii serviciului și obiectul de solicitare Request DTO, în loc să diferențieze după numele metodei, așa cum este în WCF. Asta înseamnăUn obiect DTO de cerere nu poate fi reutilizat între mai multe Servicii în ServiceStack。
Adăugarea parametrului format după parametrul get request poate returna tipul de răspuns, cum ar fi: format=json, format=xml etc., și se pare că și formatul jsonp este suportat.
De exemplu: http://localhost:52079//json/reply/GetAllUserInfoRequest?format=xml
În concluzie, comparativ cu API-ul web Microsoft, ServiceStack pare să nu aibă conceptul de metodă în web, este o entitate de cerere diferită, o metodă, poate genera automat documente de interfață, iar formatul răspunsului poate fi returnat prin format (deși și cel al Microsoft este posibil, dar pare mai simplu decât Microsoft)
Referință: https://www.cnblogs.com/woxpp/p/5012947.html
https://msdn.microsoft.com/zh-cn/magazine/dn342871.aspx
https://github.com/ServiceStack/ServiceStack/wiki
În final, atașează codul sursă al proiectului!
Turiști, dacă vreți să vedeți conținutul ascuns al acestei postări, vă rog Răspunde
|