2009-12-17 18 views
2

默認情況下,IIS託管的WCF服務不能使用使用用戶範圍設置的庫。它接受的唯一範圍是應用程序範圍。如何啓用Web項目託管的WCF服務使用的庫的用戶設置?

當您嘗試不這樣做它拋出一個異常:

[System.Configuration.ConfigurationErrorsException] { 「當前配置系統不支持用戶範圍設置」}

如何繞過這個?

+0

有點困惑。您計劃託管您的Web服務需要多少個不同的用戶(除IIS之外),這些用戶需要各自擁有自己的設置? – 2009-12-17 18:47:34

+0

很多,不止一個。 – 2009-12-17 19:06:55

回答

3

您可以使用.NET 2.0配置系統爲您的服務加載/管理用戶範圍的配置文件,例如,位於IsolatedStorage或其他東西。

一旦你的文件,你可以加載並使用代碼是這樣的訪問其內容:

ExeConfigurationFileMap map = new ExeConfigurationFileMap(); 
map.ExeConfigFilename = "ConfigLibrary.config"; // set it to whatever 

Configuration libConfig = ConfigurationManager. 
        OpenMappedExeConfiguration(map, ConfigurationUserLevel.None); 

AppSettingsSection section = 
        (libConfig.GetSection("appSettings") as AppSettingsSection); 

string value = section.Settings["Test"].Value; 
string item = section.Settings["Item"].Value; 

等。這使用標準的默認.NET 2.0配置,但它允許您擁有自己的自定義配置文件,將其命名爲任何你喜歡的位置,並且可以直接從你的類庫訪問它們,無需將它們到web.config或您的主機應用程序的app.config。

欲瞭解更多關於.NET 2.0配置系統的信息,請查看Jon Rista在CodeProject上關於.NET 2.0配置的三部分系列。

強烈推薦,寫得很好,非常有幫助!

Marc

相關問題