为什么执行外部程序会失败?
我在ASP.Net去执行外部程序, 在两部机器上执行同样的程序却出现了不同的情况.
A 和 B 两部主机都是Win2K+.Net Framework 1.1
在ASP.NET的程序上去呼叫一个外部的程序(.Net写的WinForm), 在Web.Config中都加入了
<identity
impersonate="true"
userName="具有Administrator的权限帐号"
password="密码"/>
在 A 的机器很正确的执行完外部的程序,
但是在 B 的机器执行到Application.Run()就停了, 变成一直挂在内存当中, 就像是没有仿真Administrator的情形一样.
然而在web程序中我还有一行程序用来判断外部程序是否正在执行
if (System.Diagnostics.Process.GetProcessesByName("import_stopcall").Length > 0) {
showMsg.Text = "程序正被执行中, 请稍后再执行. ";
showMsg.ForeColor = System.Drawing.Color.Red;
return;
} else {
//执行外部程序
BeginImport();
}
System.Diagnostics.Process.GetProcessesByName("import_stopcall").Length 这一行若没有仿真Administrator来执行是会出错, 但在 B 机器这一行的执行确没有问题, 也就是说看来在web.config的设定仿真Administrator执行是对的, 可是为什么执行外部的程序却出了问题呢? 请问有谁知道这是什么情况?
PS.我曾试着在B机器web.config中改成使用administrator这个帐号, 也一样是失败.