.net打开exe程序,本地调试时打开没问题,但是在IIS发布后,打不开,进程中有ax.exe的进程

stringstr=Server.MapPath(@"../DJ/exe/ax.exe");ProcessStartInfoinfo=newProcessStartInf... string str = Server.MapPath(@"../DJ/exe/ax.exe");
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = str;
info.Arguments = "";
info.WindowStyle = ProcessWindowStyle.Minimized;
Process pro = Process.Start(info);
pro.WaitForExit();
上面是代码
想权限什么之类的,我都改了,还是不行,文件肯定是存在的
展开
 我来答
末日高督
2016-07-06 · TA获得超过303个赞
知道小有建树答主
回答量:469
采纳率:0%
帮助的人:259万
展开全部

因为从winxp开始,windows是一个多用户的os;因此iis即使指定了对应的用户,也无法在特定的用户界面上显出对应的程序,只会以 进程的形式出现;

至于你调试的时候可以 ,那是因为调试的时候,是以你当前的用户作为执行用户的,因此可以正常显示,但是发布以后;就是另一个用户(即使是一个用户名,如果你有非常丰富的远程经验,应该遇到过类似的情况,即一个用户被多次登录);

如果你一定要实现,只有两个办法:

  1. 换成win2000  搭载iis5

  2. 写一个守护程序 或者 windows service,web app请求守护程序,由守护进程去执行打开对应的应用程序

追问
那我该把应用放在哪?服务器上吗?还是部署的那台机子上
追答

不知道你的具体执行是什么模式:

  1. 如果是想在客户端打开程序;你需要使用activex在客户端执行相关的操作;(前提是 ie浏览器)之前的方案不可行

  2. 如果是想在服务器端打开程序,就将你的守护程序部署在服务器端

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式