Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 24900|Respuesta: 4

[WebAPI] Mi primera aplicación ServiceStack Web Service construida

[Copiar enlace]
Publicado en 15/1/2018 11:06:52 | | | |
Quiero probar la diferencia entre ServiceStack Web y la webAPI integrada de Microsoft, y ver qué ventajas tienen, así que intenta construir una aplicación ServiceStack Web Service hoy mismo

1: Crear un nuevo proyecto web vacío en .NET 4.5 y luego usar el comando nuget para instalar ServiceStack:

La versión .NET debe ser mayor o igual a la versión 4.5, ¡el proyecto 4.0 no se instalará con éxito! Como se muestra en la figura de abajo.



2: Crear un nuevo modelo y carpeta de servicio

Crea una entidad de solicitud y respuesta con el siguiente código:

3: Crear una interfaz de servicio en la carpeta de servicio

4: Crear una nueva clase global de aplicación llamada Global.asax para este proyecto, y el código es el siguiente:




5: Modifica la configuración de web.config, añade un nuevo nodo system.webServer y la configuración completa es la siguiente:



Hasta ahora nuestro servicio se ha completado, al ejecutar el programa se puede ver la interfaz de la siguiente manera,GetAllUserInfoRequest y GetByAgeUserInfoRequest pueden entenderse como métodos reales de llamadaLos parámetros definidos en él pueden interpretarse como los parámetros de solicitud del método, como se muestra en la figura siguiente:



Los métodos de servicio en ServiceStack se denominan Any, Get y Post, que también son tipos de solicitud soportados por ServiceStack.Cualquier significa que el servicio puede ser llamado tanto en HTTP Get como en HTTP Post。 Esto fortalece y simplifica la implementación de servicios web de estilo RESTFull. Solo añade amor [Route(...)] a estos métodos Atributos. En ServiceStack,La diferencia entre métodos y métodos se distingue por los parámetros del servicio y el objeto de solicitud Request DTO, en lugar de diferenciar por nombre de método como en WCF. Esto significaUn objeto DTO de solicitud no puede reutilizarse entre varios Servicios en ServiceStack

Añadir el parámetro format después del parámetro get request puede devolver el tipo de respuesta, como: format=json, format=xml, etc., y parece que también se soporta el formato jsonp.

Por ejemplo: http://localhost:52079//json/reply/GetAllUserInfoRequest?format=xml



En resumen, comparado con la API web de Microsoft, ServiceStack parece no tener concepto de método en la web, es una entidad de solicitud diferente que es un método, puede generar automáticamente documentos de interfaz y el formato de la respuesta puede devolverse mediante formato (aunque el de Microsoft también es posible, pero se siente más sencillo que el de 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

Por último, adjunta el código fuente del proyecto.

Turistas, si queréis ver el contenido oculto de esta publicación, por favorRespuesta





Anterior:System.NotImplementedException:“未实现该方法或操作。”
Próximo:Visual Studio añade las potentes capacidades de edición de Vim para dificultar la prevención.
Publicado en 6/3/2018 15:28:29 |
Mira, ¿qué tal?
Publicado en 14/4/2019 20:08:39 |

Mira, ¿qué tal?
Publicado en 8/8/2019 8:29:02 |
ServiceStack Web Service
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com