viernes, 11 de junio de 2010

Inicialización de WebContext en un proyecto de RIA services

Cuando usamos la autenticación integrada en un proyecto de RIA Services mediante la inclusión de una clase de tipo Authentication Domain Service al proyecto de servidor, podemos acceder a los servicios de autenticación y al usuario actual desde la aplicación Silverlight usando la clase WebContextBase. Si nuestra solución es del tipo "Aplicación de RIA services", Visual Studio genera automáticamente una clase llamada WebContext que nos facilita el acceso a WebContextBase. Al inicio de la aplicación tenemos que añadir una instancia de WebContext a la lista de objetos persistentes de la aplicación, lo cual puede hacerse en el constructor de App.xaml.cs tal que así (suponiendo que usamos autenticación por formularios):

A partir de ese momento podemos acceder a los servicios de autenticación mediante WebContext.Current.

Peeeero, si en vez de una aplicación RIA estamos usando una biblioteca de clases RIA, la cosa se complica un pelín, aunque no mucho. Para empezar, tenemos que crear la clase WebContext a mano, lo cual no tiene mucho misterio:

Además, en el código de inicialización hay que añadir una línea más, que crea una instancia explícita de la clase DataContext correspondiente (suponiendo que el servicio se llama AuthenticationDomainService):

Hala, ya podeis RIAcizar tranquilos incluso desde bibliotecas de clases.

1 puesyocreoques:

Alex dijo...

Este blog sería mucho más completo con una foto de Kaito.