【发布时间】:2012-06-30 04:16:55
【问题描述】:
我正在使用我的网络应用程序中的这个函数来调用 exe 文件。当它调用 .exe 文件时,每件事都会准确地发生,我可以在任务管理器进程中将其视为正在运行的进程,但是为什么在调用此进程时没有打开命令提示符。
Web 应用程序托管在同一系统的 iis 上。
public void RunconsoleApplication(string Id)
{
// Get the file path of your Application (exe)
string filePath = @"E:/ConsoleApplication1/ConsoleApplication1/bin/Debug/ConsoleApplication1.exe";
System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo(filePath, Id);
System.Diagnostics.Process p = System.Diagnostics.Process.Start(info);//called
}
更新
在visual atudio 上运行相同的应用程序时,会打开命令提示符。但在 iis 上托管时不会
【问题讨论】:
-
Dolly,尝试将 AppPool(在 IIS 上)的凭据设置为已登录的用户。我相信您看不到该窗口,因为它正在另一个用户上下文中运行。
-
我已将其设置为管理员。给定的密码。并且在任务管理器中也显示进程的用户名作为管理员
-
您是否以同一用户(管理员)身份登录?
-
是的,我是。我很惊讶进程正在任务管理器中运行,图像名称为 ConsoleApplication1.exe *32,用户名为管理员,但未打开 cmd 窗口
-
好的,另一个想法。使用此用户登录服务器,重新启动 IIS e 浏览此页面。我相信用当前会话启动 AppPool 可能会有所帮助。很抱歉一直在猜测,但这确实是一个奇怪的问题。