C#代码使用Process.Start运行本地保存在运行代码的相同PC上的exe文件。在Visual Studio中,这个工作正常,exe被调用并弹出cmd窗口。一旦exe完成,控制然后传回给C#调用应用程序。但是,一旦Web应用程序发布到本地IIS,将应用程序池标识设置为自定义帐户,就不再有效。这个exe在任务管理器中可以看作是一个正在运行的进程,但是cmd窗口不会弹出来向用户表明它正在运行。 try/catch块没有捕获任何错误。应用程序池标识确实有权运行该exe。我如何确保cmd窗口在IIS中可以被用户看到,就像在Visual Studio中一样?运行exe的ASP.NET Web应用程序在VS中工作,而不在IIS中
回答
微软不建议从Web应用程序调用.exe,因为w3wp.exe出于安全原因在沙盒环境中运行,因此它启动的任何线程/任务/进程与启动时的启动方式不同它自己,因此可能无法按预期工作。
您可能希望将控制台应用程序重新编码为ASP.NET Web API(以前称为WCF),可能托管在IIS或Windows服务中。
Web API不是WCF。他们是完全不同的技术。 https://msdn.microsoft.com/en-us/library/jj823172(v=vs.110).aspx –
Web API是旧版皂基技术的延续。这并没有改变我的答案的重点,但感谢指出新的vs旧的... – IrishChieftain
好吧,感谢您的意见,这是一个失望,因为我不那么热衷于重新写所有!... – LeedsWalker
我使用JavaScript解决了这个问题。我在我的按钮中添加了一个“OnClientClick”事件,并启动了我的javascript功能。这个函数创建了一个新的ActiveXObject,然后运行有问题的文件。这现在可以通过IIS成功运行。
如果它运行在JavaScript它可能运行在客户端而不是服务器上。这可能不会在锁定的客户端上运行。 –
- 1. 在web应用程序中运行exe
- 2. 在IIS上运行时,ASP.NET Web应用程序中的模拟不起作用
- 3. Web应用程序工作在VS开发服务器,但不工作在IIS
- 4. ASP.NET MVC 2应用程序在VS中运行,但在IIS上运行错误
- 5. ASP.Net Web应用程序安全不工作在IIS 7上?
- 6. 应用程序在IIS或VS web服务器下运行
- 7. 在应用程序中运行.Exe
- 8. 问题在iis 7下运行web应用程序asp.net mvc 3
- 9. ASP.NET Web应用程序在IIS 7(Windows Server 2008)中工作不正确
- 10. 从ASP.NET应用程序(IIS 7,5)运行控制台应用程序(.exe)
- 11. 运行无IIS的asp.net应用程序
- 12. HttpHandler不能在ASP.NET MVC3 web应用程序中工作
- 13. ASP.NET web应用程序不能在IE10中工作
- 14. 在IIS中运行java web应用程序
- 15. 如何在本地IIS中运行asp.net应用程序
- 16. IIS 6 ASP.NET处理程序不能在虚拟应用程序中工作
- 17. 在vs 2012中启用asp.net web应用程序中的ajax
- 18. 在VS 2008和IIS中调试现有的ASP.NET应用程序
- 19. 在Asp.Net应用程序中应该运行多少个工作流运行时?
- 20. ASP.NET MVC Web应用程序VS ASP.NET Web应用程序
- 21. 在asp.net web应用程序中连续运行线程
- 22. 如何在ASP.Net web应用程序中运行后台进程
- 23. 在Eclipse中运行Web应用程序
- 24. 在netbeans中运行web应用程序
- 25. 在ASP.NET Web应用程序(而不是MVC)中的Bundle Transformer
- 26. 只在特定的.EXE内运行web应用程序
- 27. 如何使alasql在我的asp.net web应用程序中工作?
- 28. 在ASP.NET中运行应用程序
- 29. ASP.NET核心路由工作在VS IIS Express中,但不在IIS 10中
- 30. 在IIS中配置ASP.NET应用程序
EXE是否以登录到Web服务器的用户身份运行? – mason
iis应用程序池在具有管理员访问权的自定义用户帐户下运行。我也测试了用同样的用户登录到PC上,正如所建议的,不幸的是同样的问题存在。此用户有权运行该exe文件。 – LeedsWalker
但是,EXE是否做它需要或不?为什么你需要看到CMD窗口弹出? IIS进程不是交互式进程。 –