我有一个windows程序,是与后台数据库有关的.
这个程序老是自己报错,开发的人早就找不到了.
而且这个程序不能关,现在有什么办法能让他一报错就自动重新启动呢?给个思路,我想用C#写个win服务来监控这个应用程序,但查不到资料,
怎么才能知道这个程序报错了呢??
能给段代码或资料都行呀.谢谢了....
这个程序老是自己报错,开发的人早就找不到了.
而且这个程序不能关,现在有什么办法能让他一报错就自动重新启动呢?给个思路,我想用C#写个win服务来监控这个应用程序,但查不到资料,
怎么才能知道这个程序报错了呢??
能给段代码或资料都行呀.谢谢了....
-----------------------------------
简单的做法直接在winservice处理,写日志再重起
try
{
// dosth...
}
catch (Excepion ex)
{
// donot throw ex
transation.RollBack();
log(ex);
.....
// the service restart
OnStart(urarg);
}
用winservice处理,不知怎么判断程序出错...
他报的错是:弹出个窗口,内存不能为读,,,什么的...
而服务器上是2000server,晕,竟然说网络路径不可用...晕呀....
谁知道是怎么回事...
eventlog.Log = eventlogs.Items[eventlogs.SelectedIndex].Value.ToString();
eventviewgrid.DataSource = eventlog.Entries; EventLogEntryCollection myCollection= eventlog.Entries;
如果是弹出式,就没有太好的办法了。只好监控他提供的服务,如果服务无法访问了,就强行关闭进程,再启动起来。
我现在就是想监视日志,出现错误就关掉进程,重新打开.但服务器是2000server,晕呀,得不到系统日志.晕,还在查...
在Process中查找这个程序的进程,如果消失了,就重新启动它。
正解,做个线程定期查看系统进程名称,如果消失了就启动它.
mapserver(杨东 http://mapserver.cnblogs.com)
的方法,没试过,我查查看...
什么Findwindow,Process监视、日志都不完美!
报错窗口的title,proc.ProcessName = "csrss"
然后结束我的程序,再重新打开.
谢谢,大家.结贴了.
如果有相同问题的人可以给我发短信息.