您的位置:首页 > 移动开发

运行时修改App.config文件----完善登录时的用户体验与对XmlDocument对象进行操作札记

2011-09-05 10:24 465 查看
  代号为 X 的(C/S)应用程序是给我们内部同事使用,以配置数据库的各表值、参数。当X程序起动后,每个人都期望连接自己电脑的本地数据库(Sql 2005),而往往待我将X程序发布后,配置文件信息总是默认成我的开发机器中的配置信息,从而导致他们登录时失败,为此他们需手动修改配置文件(App.config),让人感觉其用户体验真是相当的不爽。
  于是我想在启动应用程序之前,对数据库连接进行试探性检验,如果连接失败则立即返回,可不能像默认时长达15秒的等待时间,显然这种假死状态的用户体验同样是令人相当沮丧的,何况 X 程序还是给程序员用的。

  先看看试探性检验数据库连接代码(代码分页在两个物理层):

  1.在静态公共类(为数据访问层提供服务) 【namespace DotNet.DBUtility】

View Code

     /// <summary>
/// 修改或保存配置信息
/// </summary>
/// <param name="AppKey">属性 key 的值</param>
/// <param name="AppValue">属性 value 的值</param>
public static void SetAppSettings(string configPath, string AppKey, string AppValue)
{
XmlNode nodeAppSetting;
XmlElement eleTempAdd;
XmlDocument eleDocumnet = new XmlDocument();
eleDocumnet.Load(configPath);

nodeAppSetting = eleDocumnet.SelectSingleNode("//appSettings");
eleTempAdd = (XmlElement)nodeAppSetting.SelectSingleNode("//add[@key='" + AppKey + "']");

if (eleTempAdd != null)
{
eleTempAdd.SetAttribute("value", AppValue);
}
else
{
eleTempAdd = eleDocumnet.CreateElement("add");
eleTempAdd.SetAttribute("key", AppKey);
eleTempAdd.SetAttribute("value", AppValue);
nodeAppSetting.AppendChild(eleTempAdd);
}
eleDocumnet.Save(configPath);
}


  记录这个札记的初衷是想对XmlDocument的相关操作进行一个总结,却不想引出上述那么多细节。不难想像,软件中的一个小功能(或者是不被重视的用户体验问题),想要完好的实现出来,着实是不容易的(期间的思路过程可见一斑)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐