sp2 sirve services que para silverlight wcf wcf-ria-services

silverlight - sirve - Servicios RIA contra servicios WCF



wcf ria services que es (7)

RIA Services se basa en WCF. Con el lanzamiento de PDC, esto será mucho más evidente. RIA Services simplifica el modelo de programación del lado del cliente para que coincida estrechamente con su DomainService del lado del servidor y las entidades.

Estoy reescribiendo una aplicación LOB cuya arquitectura es así:

Silverlight && Windows Mobile -> WCF -> Entity Framework -> Base de datos.

Se suponía que la aplicación móvil podía hacer ciertas cosas como la aplicación Silverlight. ¿Qué beneficios obtendré del uso de los Servicios de RIA aquí? ¿Cuál es la ventaja y la desventaja de RIA Services sobre WCF?


.NET RIA Services había sido nombrado WCF RIA Services en PDC, que se celebró en noviembre de 2009. Dado que se basa en WCF, de ahí el nombre WCF RIA Services .

Tendrá que utilizar WCF RIA Services para compilar aplicaciones de nivel N que involucren una base de datos (o cualquier información que deba llevarse a lo largo de los niveles).


Independientemente de la respuesta:

RIA Services se basa en WCF. Con el lanzamiento de PDC, esto será mucho más evidente. RIA Services simplifica el modelo de programación del lado del cliente para que coincida estrechamente con su DomainService del lado del servidor y las entidades.

Para mí (y supongo que para el autor del tema) no está claro qué servicios de RIA ofrecen además del acceso al DomainService (que es lo mismo provisto por WCF).

Gracias.


.NET RIA Services se creó para Silverlight que se ejecuta en el navegador. Silverlight está ejecutando una versión especial de .NET Framework y en una aplicación de N-nivel Silverlight no puede compartir ensamblajes con el lado del servidor. Mediante el empleo de una inteligente generación de códigos .NET RIA Services hace que esta brecha sea casi invisible para el desarrollador. Las clases similares a las clases de dominio son generadas por código en el lado del cliente, y las formas de mover objetos hacia adelante y hacia atrás entre el cliente y el servidor también están disponibles.

Es probable que pueda llamar a un servicio .NET RIA desde Windows Mobile, pero no creo que sea particularmente fácil y, de hecho, puede que tenga que aplicar ingeniería inversa a lo que se envía por cable (se usa JSON). WCF por el otro tiene un alcance mucho más amplio, pero no admite el desarrollo de Silverlight de la misma manera que lo hace .NET RIA Services.

Si está escribiendo una aplicación de nivel N de Silverlight, los servicios RIA de .NET son muy potentes. Sin embargo, si Silverlight es solo uno de varios clientes, WCF es probablemente una mejor opción.

Tenga en cuenta que los servicios .NET RIA aún no se han lanzado, pero hay una vista previa disponible para descargar.


Hasta que no haya un lanzamiento formal de WCF RIA Services, no creo que haya una respuesta definitiva a esta pregunta. A partir de la versión Beta actual (para VS 2008, SL 3), RIA Services no oculta la naturaleza asincrónica de las llamadas de servicio; aún necesita proporcionar un método de devolución de llamada. Además, RIA Services actualmente no admite clases definidas por el usuario (o colecciones de clases definidas por el usuario) como parámetros o valores devueltos en llamadas de servicio RIA. También tengo problemas para proporcionar clases de entidades no editables a través de los Servicios de RIA. (El error dice que la colección de entidades no es editable. Sí, eso es realmente lo que quiero ...)

En este punto, necesito dar un paso atrás y echar un vistazo a la tarea simple de WCF. No es tan simple, dado el tamaño de la aplicación que estamos desarrollando, pero parece ser la solución viable hasta que MS resuelva algunos de los problemas actuales con los Servicios de RIA.


Los servicios de Ria se crean solo para ser utilizados con Silverlight. Son sustancialmente un "paquete" estándar listo para ser utilizado por Silverlight. La ventaja es que tiene muchos servicios sin necesidad de escribir código, es decir:

  1. Soporte para anotaciones de datos
  2. Soporte para el proveedor de membresía e inicio de sesión
  3. Soporte para la transferencia a Silverlight excepciones generadas del lado del servidor. Hay una dificultad en Silverlight que dificulta la transferencia normal de excepción a través de FaultContract. El punto es que el navegador no puede manejar todos los códigos de error. Los servicios de Ria resuelven esto con un truco

Todo lo que hace Ria se puede hacer con WCF y con otro software disponible y, en particular, con los servicios de datos Wcf. Por ejemplo, para las anotaciones de datos encontré esta biblioteca que funciona mejor que los servicios de Ria, el soporte para la membresía solo requiere activar el punto final de membresía ya existente de un servicio WCF, y finalmente el problema de excepción se resuelve fácilmente escribiendo un comportamiento WCF. El código está disponible aquí: http: //www.silverlightshow.net/Storage/10Tips.zip El punto es que con Ria Service tienes todo esto con un clic del mouse. Por otro lado, los servicios de Ria son realmente difíciles de personalizar ... así que si no te gusta la solución estándar que ofrecen, simplemente no puedes usarlos


WCF RIA Services presenta varias soluciones para los desafíos con los que se encuentra cuando usa WCF de Silverlight. Por ejemplo, la carga asincrónica de consultas utilizando EntityQuery<T> es mucho más fácil que la solución Begin.End ofrecida por WCF. Además, RIA proporciona un seguimiento de cambios integrado de su cliente que permite enviar o rechazar múltiples cambios como un conjunto de cambios. RIA combinará todos estos cambios en una sola solicitud, pero desde su Servicio de dominio se comporta como si fuera una llamada individual. Como desarrollador de WCF desde hace mucho tiempo, puedo decirte que eso es muy fácil.