我正试着从网上读取密钥。配置文件在不同的层与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>

当我调试代码的用户名和密码只是空,所以它不是得到键的值。

读取这些值有什么问题吗?


当前回答

尝试使用System.Web.Configuration命名空间中的WebConfigurationManager类。例如:

string userName = WebConfigurationManager.AppSettings["PFUserName"]

其他回答

尝试使用System.Web.Configuration命名空间中的WebConfigurationManager类。例如:

string userName = WebConfigurationManager.AppSettings["PFUserName"]

你也可以尝试从app.config文件中获取字符串值。

var strName= ConfigurationManager.AppSettings["stringName"];

抱歉,我没有测试这个,但我认为它是这样做的:

var filemap = new System.Configuration.ExeConfigurationFileMap();            
System.Configuration.Configuration config =  System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(filemap, System.Configuration.ConfigurationUserLevel.None);

//usage: config.AppSettings["xxx"]

它是全路径

System.Configuration.ConfigurationManager.AppSettings["KeyName"]

将会有两个网络。配置文件。我想你可能把这两个文件搞混了。

查看这张图片:

在这张图中,你可以看到两个Web。配置文件。你应该把你的常量添加到project文件夹中,而不是views文件夹中

希望这对你有所帮助