轉帖|其它|編輯:郝浩|2011-06-14 14:51:57.000|閱讀 585 次
概述:Silverlight Application是客戶端程序,沒有也無法訪問服務端的web.config,它自己也不允許添加.config文件,那如何方便地更改配置而不用重新發(fā)布呢?找了許多地方,基本上總結出來一個辦法。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Silverlight Application是客戶端程序,沒有也無法訪問服務端的web.config,它自己也不允許添加.config文件,那如何方便地更改配置而不用重新發(fā)布呢?找了許多地方,基本上總結出來一個辦法。
一般情況下,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=//localhost:8028/GeneralService.svc" />
<a href="//go.microsoft.com/fwlink/?LinkID=149156&v=4.0.41108.0" mce_href="//go.microsoft.com/fwlink/?LinkID=149156&v=4.0.41108.0" style="text-decoration: none" mce_style="text-decoration: none">
<img src="//go.microsoft.com/fwlink/?LinkId=161376" mce_src="//go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style: none" mce_style="border-style: none" />
</a>
</object>
可以看到其中有一個param標簽的name為InitParams,其值可以在App.xaml.cs中的Application_Startup事件處理方法中,使用傳入StartupEventArgs參數的InitParams屬性取得,類型為IDictionary。如上面的例子里,我就可以用e.InitParams["serviceAddress"]取得我設置的服務地址//localhost:8028/GeneralService.svc。
由于這段代碼是包含在ASPX頁面或HTML頁面中的,所以你可以用ASP.NET來讀取web.config的節(jié)點值為InitParams賦值。
本站文章除注明轉載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:CSDN