作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个 WCF 服务,我们最近从自托管切换到了 IIS 托管。它需要使用 Process.Start() 启动一个可执行文件。这在自托管时工作正常,但在 IIS 中托管时,我们收到错误:
System.ComponentModel.Win32Exception: 系统找不到指定的文件
我们在 bin 目录和应用程序根目录(.svc 文件旁边)都有 exe。但是,它似乎找不到 exe。
任何帮助,将不胜感激。谢谢!
编辑:我忘了提到我们正在使用以下代码启动:
Process.Start("LeakingWrapper.exe");
进一步信息:不幸的是,我们没有将 exe 切换到 dll 的选项,因为它包装了泄漏内存的第三方库。因此,我们必须将其放入自己的流程中,以确保我们长期运行的 WCF 服务不会泄漏!
最佳答案
你有aspNetCompatibilityEnabled
设置设置为true?在这种情况下,您将拥有 HttpContext
,它可以尝试用来调用类似的东西:
string exeFileName = HttpContext.Current.Server.MapPath("~/LeakingWrapper.exe")
Process.Start("C:\yourServiceDir\bin\LeakingWrapper.exe")
关于wcf - 如何从 IIS 托管的 WCF 服务启动可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1446599/
我是一名优秀的程序员,十分优秀!