如何从ASP.NET MVC应用程序中调用可执行桌面应用程序?

时间:2011-02-18 11:42:53

标签: c# asp.net asp.net-mvc asp.net-mvc-3

我已经完成了可执行桌面应用程序的开发,以根据传入的参数生成分形图像。输出类型为JPEG。

现在我正在ASP.NET MVC 3下开发一个站点。我想在我的站点中使用可执行文件。

是否可以按原样使用它而不将其转换为类库并重新编译?

2 个答案:

答案 0 :(得分:3)

如果您的意思是“在用户的计算机上运行”,那么就不是“按原样” - 您可能需要查看Silverlight。

如果您的意思是“在服务器上使用”,那么它当然将取决于它的操作方式(是否提示输入等),以及它是如何工作的(例如它是否使用GDI +?建议在Web服务器上使用。)

但是肯定;你可以使用Process.Start shell一个exe,或者如果它是一个.NET exe,你可以直接在exe中添加一个引用并使用作为一个库(如果它有适当的代码)

还有一种方法可以通过AppDomain.ExecuteAssembly在进程中运行它 - 不确定后者在Web服务器上是个好主意,但是...尤其是如果exe与stdout进行对话

为了将图像恢复到客户端,您希望在使用MVC中的return File(...);来模拟图像流的路由中进行此处理(可能使用缓存)。

答案 1 :(得分:0)

使用system.Diagonstics.Process类用StartInfo对象调用exe来传递适当的参数。