我正在使用一个silverlight应用程序,它在web.config中有一个相当大的appsettings部分。在搜索时,我找不到任何使用silverlight自定义配置部分的示例。在银色环境中,我不能成为第一个遇到这个问题的人。
停止在appconfig中放置配置值并使用更类似于自定义配置部分的方法的最佳做法是什么。谢谢
答案 0 :(得分:1)
Web.Config
纯粹供网站使用,其中包括silverlight应用程序文件。网站中的Silverlight应用程序本身并不具有“App.config”的任何概念。
对于记录,创建自定义部分的一种非常简单的方法是使用NameValueSectionHandler
: -
<configuration>
<configSections>
<section name="myCustom" type="System.Configuration.NameValueSectionHandler" />
</configSections>
<myCustom>
<add key="someItem" value="someValue" />
</myCustom>
<!-- other sections here -->
</configuration>
在服务器端代码中,您可以通过HttpContext
对象访问此部分的值。
string someValue = ((NameValueCollection)context.GetSection("myCustom"))["someItem"];
另一种方法是创建自己的部分处理程序,创建IConfigurationSectionHandler
的实现,其中只有一个Create
接受XmlNode
,即“myCustom”节点。
然而,所有这些都无助于客户端。您基本上需要发明自己的方法来为应用程序提供配置。
对于简单的值集,通常使用插件的对象标记上的initParams
参数。如果您有更复杂的设置,那么创建自己的xml结构来保存这些数据并在应用程序启动时下载该xml。