我可以通过使用Silverlight应用程序在服务器上运行.exe文件吗?



我认为这将是一个非常简单的任务,所以我认为我是弱智或类似的东西。我想部署一个测试应用程序,它遵循以下步骤:

  1. 用户使用浏览器打开Silverlight应用程序
  2. 用户填写Silverlight表单并点击"OK"按钮。
  3. 按钮回调准备表单作为参数传递给。exe程序。
  4. 执行
  5. program.exe -argument。如果一切正常,result.txt将在已知路径中生成。
  6. Silverlight应用程序报告result.txt
我唯一的问题,到目前为止,是第四步,因为我不能执行我的。exe程序没有System.Diagnostics.Process。我已经尝试了COM解决方案,但它不是这个测试的好解决方案。

正如你现在应该意识到的那样,Silverlight实际上是使用。net框架的一个子集在本地浏览器中运行的,即使具有受信任状态,对执行本地代码的支持也有限。

公平地说……Silverlight在这方面可能有点过分,但是如果你想这样做,并且你正在服务器上运行进程:

  • 创建一个新的支持RIA服务的Silverlight项目
  • 创建一个DomainService并添加一个Invoke方法,如下所示:

    (调用)公共字符串RunProcess(args…)

  • 创建一个按钮,调用RunProcess上的Invoke方法并传入参数。与Silverlight中的所有服务调用一样,这是一个异步回调,当它准备好时,你会想要连接一个lambda来获取结果。

  • 在RunProcess中,它实际上是服务器端,启动进程并简单地返回作为方法调用结果的输出,作为字符串或其他类型的数据,对您希望显示的内容有意义。

您是否考虑过在服务器上运行Windows服务,该服务监视文件显示在指定目录中,然后运行EXE来生成文本文件?您的silverlight进程可以轮询输出目录,直到txt文件显示。

相关内容

  • 没有找到相关文章

最新更新