软件读取本地XML配置文件,会读取到 IP 配置值为:127.0.0.1(默认)。用户修改IP地址参数,成功保存到XML配置文件。form.Close(),form.Dispose()了当前窗口。 然后再次form.show 显示配置界面。IP配置值没有重新读取,依然显示的127.0.0.1。应该是读取到了内存中的数据,没有得到释放。不知道这种情况应该如何释放内存中读到的数据?希望大家指导,我的基础很差,以前写过asp.net,刚用C# WINFORM没两天。
软件读取本地XML配置文件,会读取到 IP 配置值为:127.0.0.1(默认)。用户修改IP地址参数,成功保存到XML配置文件。form.Close(),form.Dispose()了当前窗口。 然后再次form.show 显示配置界面。IP配置值没有重新读取,依然显示的127.0.0.1。应该是读取到了内存中的数据,没有得到释放。不知道这种情况应该如何释放内存中读到的数据?希望大家指导,我的基础很差,以前写过asp.net,刚用C# WINFORM没两天。
#region 读取XML
/// <summary>
/// 读取XML
/// </summary>
/// <param name="_path">文件路径</param>
/// <param name="_root">查找根节点名</param>
/// <param name="_name">修改的节点名</param>
/// <returns></returns>
public static string GetXML(string _path, string _root, string _name)
{
string result = "";
XmlTextReader xtr = new XmlTextReader(_path);
XmlDocument xmlDoc = new XmlDocument();
try
{
xmlDoc.Load(xtr);
result = xmlDoc.SelectSingleNode(_root).SelectSingleNode(_name).InnerText;
}
catch (Exception ex)
{
//
}
xtr.Close();
return result;
}
#endregion
我把软件关掉,再打开,就显示对的了。但没关闭软件之前。得到的IP配置,都是120.0.0.1。
这样的话,每次用户修改了其中一项配置,再打开配置界面,都显示不是新的,会给用户错觉没修改成功。
改成 xtr.Dispose();呢?