【问题标题】:call exe from wcf service从 wcf 服务调用 exe
【发布时间】:2014-05-01 16:17:17
【问题描述】:

我们有一个WCF 服务,我们最近从自托管切换到IIS-hosted。它需要使用Process.Start() 启动一个可执行文件。这在自托管时工作正常,但当托管在 IIS 时,我们会收到错误:

TimeOutException 未处理

void notepad()
{
    System.Diagnostics.Process.Start("notepad").waitForExit();
}

任何帮助将不胜感激。谢谢!

【问题讨论】:

    标签: c# wcf exe


    【解决方案1】:

    当您在 IIS 中托管 WCF 服务时,作为服务器,IIS 要求并且不允许用户交互,并且在没有用户登录的情况下也可以工作;在这种情况下,没有 UI 来托管您的记事本或其他启用 UI 的应用程序,您可以执行进程或其他批处理作业但不呈现 Windows UI 应用程序,因为没有为您加载 Windows 资源管理器并且没有地方可以呈现您的进程的用户界面。因此,您可以启动没有 UI 的进程。

    【讨论】:

    • 添加一个try-catch块,看看异常是从哪里来的,可能不是从这里来的。
    • 来自 System.Diagnostics.Process.Start("notepad").waitForExit();
    • 我可以在没有窗口的情况下运行 cmd 吗?并从 cmd 调用记事本?
    • 删除 waitforexit() 只需 System.Diagnostics.Process.Start("notepad");异常应该消失
    猜你喜欢
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 2010-09-12
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    相关资源
    最近更新 更多