Я хочу спробувати різницю між ServiceStack Web і вбудованим вебAPI 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。 Це посилює та спрощує впровадження вебсервісів у стилі RESTFull. Просто додайте любов [Route(...)] до цих методів Атрибути. У ServiceStack,Різниця між методами та методами визначається параметрами сервісу та об'єкта запиту Request DTO, замість того, щоб розрізняти за назвою методу, як у WCF. Це означаєОб'єкт запиту DTO не може бути повторно використаний між кількома сервісами у ServiceStack。
Додавання параметра format після параметра get request може повернути тип відповіді, наприклад: 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
Нарешті, додайте вихідний код проєкту!
Туристи, якщо ви хочете побачити прихований контент цього допису, будь ласка Відповідь
|