Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何对web项目托管的WCF服务使用的库启用用户设置?_.net_Wcf_Iis_Settings - Fatal编程技术网

.net 如何对web项目托管的WCF服务使用的库启用用户设置?

.net 如何对web项目托管的WCF服务使用的库启用用户设置?,.net,wcf,iis,settings,.net,Wcf,Iis,Settings,默认情况下,IIS托管的WCF服务不能使用使用用户范围设置的库。它接受的唯一范围是应用程序范围 当您尝试执行其他操作时,它会引发异常: [System.Configuration.ConfigurationErrorsException]{“当前配置系统不支持用户范围的设置。” 如何避免这种情况?您可以使用.NET 2.0配置系统为您的服务加载/管理用户范围的配置文件,例如位于IsolatedStorage或其他位置 拥有该文件后,您可以使用如下代码加载和访问其内容: ExeConfigurat

默认情况下,IIS托管的WCF服务不能使用使用用户范围设置的库。它接受的唯一范围是应用程序范围

当您尝试执行其他操作时,它会引发异常:

[System.Configuration.ConfigurationErrorsException]{“当前配置系统不支持用户范围的设置。”


如何避免这种情况?

您可以使用.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中

有关.NET2.0配置系统的更多信息,请查看JonRista在CodeProject上的.NET2.0配置三部分系列

强烈推荐,写得好,非常有帮助


马克有点困惑。您计划让多少不同的用户(除了IIS)托管您的web服务,这些用户都需要有自己的设置?