我正在创建一个Web应用程序,它调用DLL来运行单元测试,我还有另一个DLL(DataAccessLayer)执行连接并对引用主DLL的SQL执行查询。两个DLL都使用相同的配置文件来读取设置。
从VS运行应用程序时,应用程序运行正常。但是,当Web应用程序部署到IIS时,似乎DLL无法从配置文件中读取设置。
经过一些研究后,我发现我可能必须在web.config文件中明确定义配置元素,但是我不知道如何实现它。有人可以指出我正确的方向吗?
我实际上是使用ConfigurationManager使用以下代码检索设置: -
public string GetValue(string key)
{
var appConfig = ConfigurationManager.OpenExeConfiguration("path to dll");
strKeyValue = appConfig.AppSettings.Settings[key].Value;
return strKeyValue;
}
感谢。
答案 0 :(得分:3)
使用WebConfigurationManager.AppSettings["HelloWorldKey"];
从web.config中读取AppSettings。
答案 1 :(得分:0)
在部署应用程序之前,直接在web.config中设置您提及的DLL使用的所有appSettings值。你不需要在运行时修改它(你不应该这样做,因为对web.config的任何修改都会导致应用程序重启)
答案 2 :(得分:0)
使用以下代码访问连接字符串
string filePath= WebConfigurationManager.AppSettings["Pathfile"].ToString();
Web配置Fie
<configuration>
....
<appSettings>
<add key="Pathfile" value="Path to dll"/>
</appSettings>
....
</configuration>
答案 3 :(得分:0)
将app.config中使用的connectionstring
或AppSetting
或ApplicationSettings
添加到您的web.config中,我知道这是一个手动任务,但这是配置的唯一方法阅读设置。