2010-05-14 4 views
3

Je travaille avec une application Silverlight qui a une section appsettings assez grande dans le web.config. Pendant la recherche, je ne trouve aucun exemple d'utilisation de sections de configuration personnalisées avec Silverlight. Je ne peux pas être le premier à avoir ce problème, dans un environnement argenté.Silverlight Configurations personnalisées sections

Quelle est la meilleure pratique pour arrêter de mettre des valeurs de configuration dans appconfig, et d'utiliser une approche plus proche des sections de configuration personnalisées. Merci

+1

Silverlight est une technologie client ... web.config est ASP.NET. –

Répondre

1

Le Web.Config est exclusivement destiné à la consommation par le biais du site web servant entre autres les fichiers d'application silverlight. Les applications Silverlight dans le site Web n'ont aucune notion d'un "App.config".

Pour mémoire très simple façon de créer des sections personnalisées est d'utiliser le NameValueSectionHandler: -

<configuration> 
    <configSections> 
    <section name="myCustom" type="System.Configuration.NameValueSectionHandler" /> 
    </configSections> 
    <myCustom> 
    <add key="someItem" value="someValue" /> 
    </myCustom> 
    <!-- other sections here --> 
</configuration> 

Dans le code côté serveur, vous pouvez accéder aux valeurs de cette section via l'objet HttpContext.

string someValue = ((NameValueCollection)context.GetSection("myCustom"))["someItem"]; 

L'alternative est de créer votre propre gestionnaire de section est de créer une implémentation de IConfigurationSectionHandler qui a simplement une Create qui accepte un XmlNode qui est le noeud « MyCustom ».

Cependant tout cela ne vous aide pas côté client. Vous devez essentiellement inventer vos propres moyens de fournir la configuration à l'application.

Pour les ensembles de valeurs simples, le paramètre initParams sur l'étiquette d'objet du plugin est généralement utilisé. Si vous avez des paramètres plus complexes, inventez votre propre structure XML pour conserver ces données et télécharger ce fichier XML au démarrage de l'application.

Questions connexes