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 favor Respuesta
|