jeudi 17 juillet 2008

Lire des paramètres du fichier Web.config depuis une application Silverlight

Silverlight est un RIA, les applications n' existent donc que du coté client. Pourtant parfois il pourrait être pratique de stocker certaines informations dans le fichier web.config du site (par exemple l' adresse d' un service web).


Il est biensur impossible de lire le fichier de configuration se trouvant sur le serveur depuis l' application Silverlight se trouvant elle sur la machine du cliente.


Comment contourner ce problème ?
L'application Silverlight est hostée sur une page aspx dans un contrôlé . Il est donc possible dans le chargement de la page de récupérer un élément du web.config grâce à l' objet ConfigurationManager :


string _baseUrl = ConfigurationManager.AppSettings["EndPointAdress"];

Ensuite il faut passer ce paramètre au contrôle Silverlight, cela peut se faire via sa propriété InitParameters :

SLControl.InitParameters = "EndPointAdress=" + _baseUrl;

Dernière étape : récupérer le paramètre dans l' application Silverlight. Cela doit se faire dans le fichier App.xaml.cs dans la méthode Application_Startup

private void Application_Startup(object sender, StartupEventArgs e)

{

string _baseUrl = e.InitParams["BaseUrl"];

}

Voila :) c' était pas plus compliqué que ça ...

Aucun commentaire: