Silverlight中使用配置文件方法
Silverlight Application是客户端程序,没有也无法访问服务端的web.config,它自己也不允许添加.config文件,那如何方便地更改配置而不用重新发布呢?找了许多地方,基本上总结出来一个办法。
一般情况下,SL App是由一个Web Application来host的,而那个Web Application是可以方便地配置的,于是,我们可以考虑由网站来把配置传给Silverlight。
具体方法,SL对象在网页中是用一个object来定义的,如
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> <param name="source" value="ClientBin/TestProject.Shell.xap" /> <param name="onError" value="onSilverlightError" /> <param name="background" value="white" /> <param name="minRuntimeVersion" value="4.0.41108.0" /> <param name="autoUpgrade" value="true" /> <param name="InitParams" value="serviceAddress=http://localhost:8028/GeneralService.svc" /> <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.41108.0" style="text-decoration: none"> <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style: none" /> </a> </object>可以看到其中有一个param标签的name为InitParams,其值可以在App.xaml.cs中的Application_Startup事件处理方法中,使用传入StartupEventArgs参数的InitParams属性取得,类型为IDictionary<string, string>。如上面的例子里,我就可以用e.InitParams["serviceAddress"]取得我设置的服务地址http://localhost:8028/GeneralService.svc。
posted on 2009-12-17 01:21 Gildor Wang 阅读(1011) 评论(0) 编辑 收藏 举报