在 IIS 托管的 Web 应用程序下运行外部 EXE 或 BAT 文件的 System.Diagnostics API 有哪些替代方案?
我想从我的 ASP.NET-MVC Web 应用程序运行外部 EXE 程序。我不需要等到程序退出。我只想启动程序。执行可能需要一些时间或者它可能会崩溃,所以我想以这样的方式将它与 IIS 分开运行,即 Web 应用程序只触发它的执行。
最佳答案
我曾经做过的是创建一个 WebService(该功能无论如何都封装在一个中)并将方法指定为“OneWay”,这基本上是一个“Fire and Forget”。
http://msdn.microsoft.com/en-us/library/ms181848(v=vs.80).aspx
您的请求不需要来自服务器的响应。
当然,您需要编写自己的“通知”逻辑来让用户知道任务的成功/失败。
正如@stefano 在评论中提到的,您可以使用诊断。
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start.aspx
由于它将在 OneWay 设置中,因此您的 Web 应用程序不会在发出 HttpResponse 之前等待应用程序完成运行。
关于.net - 从 Web 应用程序异步运行可执行文件(安全解决方案),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2630387/