我认为这将是一个非常简单的任务,所以我认为我是弱智或类似的东西。我想部署一个测试应用程序,它遵循以下步骤:
- 用户使用浏览器打开Silverlight应用程序
- 用户填写Silverlight表单并点击"OK"按钮。
- 按钮回调准备表单作为参数传递给。exe程序。 执行
- program.exe -argument。如果一切正常,result.txt将在已知路径中生成。
- Silverlight应用程序报告result.txt
正如你现在应该意识到的那样,Silverlight实际上是使用。net框架的一个子集在本地浏览器中运行的,即使具有受信任状态,对执行本地代码的支持也有限。
公平地说……Silverlight在这方面可能有点过分,但是如果你想这样做,并且你正在服务器上运行进程:
- 创建一个新的支持RIA服务的Silverlight项目
-
创建一个DomainService并添加一个Invoke方法,如下所示:
(调用)公共字符串RunProcess(args…)
-
创建一个按钮,调用RunProcess上的Invoke方法并传入参数。与Silverlight中的所有服务调用一样,这是一个异步回调,当它准备好时,你会想要连接一个lambda来获取结果。
- 在RunProcess中,它实际上是服务器端,启动进程并简单地返回作为方法调用结果的输出,作为字符串或其他类型的数据,对您希望显示的内容有意义。
您是否考虑过在服务器上运行Windows服务,该服务监视文件显示在指定目录中,然后运行EXE来生成文本文件?您的silverlight进程可以轮询输出目录,直到txt文件显示。