在web程序中配置文件更改后,应用程序会自动重启一次,于是配置会自动生效。但winform程序没有这个机制,于是Configuration.ConfigurationManager调用配置不会自动更新。
所以建议你手动实现调用配置的逻辑,代码如下:
public string ReadAppSetting(string key)
{
string xPath = "/configuration/appSettings//add[@key='"+key+"']"
XmlDocument doc = new XmlDocument()
string exeFileName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name
doc.Load(exeFileName + ".exe.config")
XmlNode node = doc.SelectSingleNode(xPath)
return node.Attributes["value"].Value.ToString()
}
这样做的话就不存在缓存的问题了,希望能对你有所帮助。
你可以自己定义一个配置文件,自己起个名字.程序运行时判断有没有这个配置文件,有的话读取配置.没有就使用默认配置.然后创建配置文件,写入默认配置.至于配置文件,可以保存在程序目录中.
还有,配置如果很少,也可以写到注册表中.不过不知道杀毒软件会有什么反应.
你如果不想别人看配置内容.还可以对它进行加密.
说明配置文件中的连接字符串似乎没有取得,可以跟踪一下,看看为什么没有取到连接字符串, 可能哪里出了点问题。另外创建了连接还要OPEN才可以使用哦,否则会提示“未将对象的设置引用到对象的实例”以下是取配置文件中字符串的一个例子可以对照一...欢迎分享,转载请注明来源:内存溢出
评论列表(0条)