这个系统是用来时时查看各个用水大户用水情况的
这是我们头一个开发的
当时我还没有到这里.
由于在设置连接网站的时候用得是一个固定死的法子
就是真接连接网络中的IP地址(200.200.200.200)
由于我们这边网站的IP地址改了(201,200,200,200)
PDA就不能显示数据了
我看了代码之后,就对我们头说:"我说能不能把这个IP地址放到config里头呢?,这样的话,下会如何IP地址改了,只要修改一下config文件就行了."
头说样行,那你看头改吧.
可是当我打开添加新项时发现里没有添加配制文件这一项
我就对头说:"在那里没有配制文件,添加不了呢?.";
头说config是xml文件,那你就读取xml文件也是一样的呀.
也是的哟.
于是我添加了一个DSD.xml文件,可是新的问题又来了
路径,路径怎么取到呀.
在这里用Server.mapPath("")这个不行,当然了这个在asp.net里用得多吗,
用Application.StartupPath这个也没有,找不着呀
去问头,头说这个我也不知道,你看头办,看怎么能弄出来
这是我提出来的法子,总不能到了中途就退索了吧.
从网上找、索,发现在用这个可以
string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName);
真是太好了
System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName ;
这个是找着当前执行程序的完整路径
而前面那个是得到这个执行程序所在的目录
这下可高兴死了
由于这是第一次到PDA
就连PDA的怎么使也不太会。
我以为是在我的程序当中添加一个DSD.xml放到bin里的debug目录一部署就成事OK了呢
没有这么好的事,这个部署是把执行程序放到PDA当中的 /Program Files/ppcmonitor/这里去了
可是在这里 /Program Files/ppcmonitor/ 并没有DSD.xml文件
得手工把项目当中的DSD.xml文件copy到 /Program Files/ppcmonitor/ 就OK了。
这样才算是真真的完成了呢。
这样在DSD.xml就可以修改IP地址,或修改域名了。每次启动得时候都是从DSD.xml文件里读取得,这样如果以后发现在改变了,就不用再去动程序了,只需修改DSD.xml就行了。
下面是我的读取DSD.xml文件的代码
private void connectMenuItem_Click(object sender, EventArgs e)
///
/// 得到执行程序的目录
///
string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName);
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(path + @"DSD.xml");
string dsdIPAddress = xmlDoc.GetElementsByTagName("DSD")[0].InnerText;
ShowRemoteWaterDate(dsdIPAddress);
}
liaohaibing add
{
///
/// 得到执行程序的目录
///
string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName);
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(path + @"DSD.xml");
string dsdIPAddress = xmlDoc.GetElementsByTagName("DSD")[0].InnerText;
ShowRemoteWaterDate(dsdIPAddress);
}
liaohaibing add
<?xml version="1.0" encoding="utf-8" ?>
<DSD>dsd.xxxx.com</DSD>
<DSD>dsd.xxxx.com</DSD>
我知道我对读取出来的什进行判断不太好
时间紧还找不着好的法子。