我们有一个WCF服务,我们最近从自托管切换到IIS托管.它需要使用Process.Start()启动可执行文件.这在自托管时工作正常,但在IIS中托管时,我们收到错误:
System.ComponentModel.Win32Exception:系统找不到指定的文件
我们在bin目录和应用程序根目录中都有exe(在.svc文件旁边.)但是,它似乎无法找到exe.
任何帮助,将不胜感激.谢谢!
编辑:我忘了提到我们正在使用以下代码启动:Process.Start("LeakingWrapper.exe");
更进一步的信息:不幸的是,我们没有将exe切换到dll的选项,因为它正在包装泄漏内存的第三方库.因此,我们必须将其置于自己的流程中,以确保我们长期运行的WCF服务不会泄漏!
您是否已将aspNetCompatibilityEnabled
设置设置为 true?在这种情况下,您将有一个HttpContext
,它可以尝试使用来调用类似以下内容:
string exeFileName = HttpContext.Current.Server.MapPath("~/LeakingWrapper.exe")
Run Code Online (Sandbox Code Playgroud)
或者:如果指定 EXE 的完整路径会怎样,例如
Process.Start("C:\yourServiceDir\bin\LeakingWrapper.exe")
Run Code Online (Sandbox Code Playgroud)
这些帮助有用??
马克
归档时间: |
|
查看次数: |
6192 次 |
最近记录: |