Искам да пробвам разликата между ServiceStack Web и вградения WebAPI на Microsoft и да видя какви предимства има, затова опитай да създам ServiceStack Web Service приложение още днес
1: Създайте нов уеб празен проект .NET 4.5 и след това използвайте командата nuget, за да инсталирате ServiceStack:
.NET версията трябва да е по-голяма или равна на версия 4.5, проектът 4.0 няма да бъде инсталиран успешно! Както е показано на фигурата по-долу.
2: Създаване на нов модел и папка за услуга
Създайте обект за заявка и отговор със следния код:
3: Създайте интерфейс за услуга в папката със служба
4: Създайте нов глобален клас на приложение, наречен Global.asax, към този проект, и кодът е следният:
5: Модифициране на конфигурацията web.config, добавяне на нов възел system.webServer и пълната конфигурация е следната:
Досега нашата услуга е завършена, като при изпълнение на програмата може да види интерфейса по следния начин,GetAllUserInfoRequest и GetByAgeUserInfoRequest могат да се разбират като реални методи за повикванеПараметрите, дефинирани в него, могат да се интерпретират като параметри на заявката на метода, както е показано на фигурата по-долу:
Методите за обслужване в ServiceStack се наричат Any, Get и Post, които също са поддържани типове заявки от ServiceStack.Това означава, че услугата може да бъде извикана както в HTTP Get, така и в HTTP Post。 Това засилва и опростява внедряването на WebServices в стил RESTFull. Просто добавете любов [Route(...)] към тези методи Атрибути. В ServiceStack,Разликата между методи и методи се различава чрез параметрите на услугата и обекта за заявка Request DTO, вместо да се диференцира по име на метода, както в WCF. Това означаваОбект за заявка DTO не може да бъде използван повторно между множество услуги в ServiceStack。
Добавянето на параметъра format след параметъра get заявка може да върне типа отговор, като: format=json, format=xml и т.н., и изглежда, че jsonp форматът също се поддържа.
Например: http://localhost:52079//json/reply/GetAllUserInfoRequest?format=xml
В обобщение, в сравнение с уеб API на Microsoft, ServiceStack изглежда няма понятие за метод в уеб, това е различен субект за заявка като метод, може автоматично да генерира интерфейсни документи, а форматът на отговора може да се върне чрез формат (макар че Microsoft също е възможен, но се усеща по-прост от Microsoft)
Референция: https://www.cnblogs.com/woxpp/p/5012947.html
https://msdn.microsoft.com/zh-cn/magazine/dn342871.aspx
https://github.com/ServiceStack/ServiceStack/wiki
Накрая, прикачете изходния код на проекта!
Туристи, ако искате да видите скритото съдържание на този пост, моля Отговор
|