Pregunta

Tengo un proyecto de Silverlight donde la funcionalidad está segregada en varias bibliotecas de Silverlight debido al tamaño y la complejidad de la aplicación. Tengo problemas para determinar cuál es la mejor manera de desacoplar el Servicio de dominio RIA que se genera a partir del proyecto del sitio web. Necesito poder acceder a los datos de las otras bibliotecas, ya que se cargarán dinámicamente en la aplicación principal de Silverlight según sea necesario.

¿Fue útil?

Solución

Terminé tomando el código generado por Visual Studio en el directorio Generated_Code de la aplicación principal de Silverlight y creando múltiples bibliotecas de Silverlight para separar el Ria DomainContext, el servicio de autenticación, las entidades y otros servicios de dominio que habíamos escrito. Luego extraje las interfaces para DomainContext, etc. y las puse en su propia biblioteca. Usando Unity Framework de Microsoft para Silverlight, pude desacoplar todos mis módulos del proyecto principal. Todos mis módulos ahora usan las interfaces. Hay un contenedor de IoC en la aplicación principal donde registro todas las clases que implementan las interfaces y se inyectan en las páginas a medida que se instancian. No tan conforme después de todo. Lo único que debe recordar es dejar el atributo EnableClientAccess en las clases de Servicios de dominio en el servidor, pero elimine el enlace del proyecto del servidor ASP.Net de la aplicación principal de Silverlight. Leí que planean hacer esto más fácil en la versión final de los servicios de Ria / Silverlight 3, ya que otras personas se han quejado del acoplamiento estrecho creado por la configuración actual.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top