我正试着从网上读取密钥。配置文件在不同的层与web层(相同的解决方案)
以下是我正在尝试的:
string userName = System.Configuration.ConfigurationManager.AppSettings["PFUserName"];
string password = System.Configuration.ConfigurationManager.AppSettings["PFPassWord"];
这是我在网上的appSettings。配置文件:
<configuration>
....
<appSettings>
<add key="PFUserName" value="myusername"/>
<add key="PFPassWord" value="mypassword"/>
</appSettings>
....
</configuration>
当我调试代码的用户名和密码只是空,所以它不是得到键的值。
读取这些值有什么问题吗?
我发现这个方法非常有用。它使用c# 4.0 DynamicObject来包装配置管理器。所以不是像这样访问值:
WebConfigurationManager.AppSettings["PFUserName"]
你可以将它们作为一个属性访问:
dynamic appSettings = new AppSettingsWrapper();
Console.WriteLine(appSettings.PFUserName);
编辑:添加代码片段,以防链接变得陈旧:
public class AppSettingsWrapper : DynamicObject
{
private NameValueCollection _items;
public AppSettingsWrapper()
{
_items = ConfigurationManager.AppSettings;
}
public override bool TryGetMember(GetMemberBinder binder, out object result)
{
result = _items[binder.Name];
return result != null;
}
}