该方法优点就是将连接串中的的用户名和密码放到另一个文件中(其它目录下).让别人不能轻意看见.
private static string GetDbConnString()
{
string m_return_val;
//得到连接串的XML文件
string DataBaseConfigFile = ConfigurationSettings.AppSettings["DatabaseConfigFile"];
//设置XML文件中连接串所在的接点
string m_XPath = "/configuration/Database";
//读入XML文件,只读式,有缓冲,速度快.
XPathDocument doc = new XPathDocument(DataBaseConfigFile);
//创建导航
XPathNavigator nav = doc.CreateNavigator();
//得到设置的节点集
XPathNodeIterator iter = nav.Select(m_XPath);
//得到其值,注意,iter并不是生成就指向第一个记录.要movenext()一下.
if (iter.MoveNext())
{
m_return_val = iter.Current.GetAttribute("connectionString","");;
//以下为多余(本人觉得
if (iter.MoveNext())
{
throw new Exception("Error: /n优快云Library.GetConfigClass.GetConfigString/n满足条件的记录过多!!");
}
}
//如果没有获得
else
{
throw new Exception("Error: /n优快云Library.GetConfigClass.GetConfigString/n没有满足条件的记录!!");
}
//将串中的/t/n/t除去
string ExStr = "/r/n/t ";
m_return_val = m_return_val.Trim(ExStr.ToCharArray());
return m_return_val;
}
web.config中的AppSettings节中的内容为:
<appSettings>
<add key="DatabaseConfigFile" value="E:/VirtualBankLoan/Service/DataBase.Config" />
</appSettings>
而dataBase.Config内容为:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<Database connectionString="uid=sa;pwd=19760519;initial catalog=Pkc_Demo;data source=(local);Connect Timeout=2000" />
</configuration>