【问题标题】:Converting windows application to web based [closed]将 Windows 应用程序转换为基于 Web 的 [关闭]
【发布时间】:2012-09-03 04:36:10
【问题描述】:

我开发了一个 Windows 应用程序。该应用程序基本上是一个控制台,可帮助用户启动多个第三部分应用程序,例如MS word.exe、MSExcel.exe、Windows 计算器等。该应用程序目前作为 Windows 应用程序运行良好。一般通过 Process.Start() 方法启动应用程序。

现在,我计划发布我的应用程序的基于 Web 的版本。我的想法是,如果用户可以通过 Web 访问我的应用程序,他/她可以运行 MSword、Excel 以及通过我的应用程序可用的所有应用程序。

请指导我如何实现这一目标。 谢谢..!

【问题讨论】:

  • 你的意思是像微软的办公网络应用程序(软件即服务场景)?
  • 您不能(轻松)从网页运行本地 exe。我认为最好的解决方案是通过 ClickOnce 部署在网络上的 winforms 应用程序。
  • 是的,它可以是一种软件即服务,但我能做到吗?
  • ClickOnce 仅部署我有源代码的应用程序。我的应用程序启动其他第 3 方应用程序(exe)我没有这些应用程序的源代码。我们可以用 ClickOnce 实现它吗??

标签: c# vb.net web-services web-applications


【解决方案1】:

这样的事情在 ASP.NET 中并不容易做到。使用 Process.Start() 只是在 ASP.NET Web 服务器上运行应用程序,而不是在客户端上运行。由于浏览器的限制,能够在客户端执行应用程序存在安全隐患。

我建议的一个解决方案是使用 SilverLight。使用 SilverLight,您可以使用以下代码在客户端上运行应用程序:

dynamic cmd = AutomationFactory.CreateObject("WScript.Shell");
cmd.Run("calc.exe", 1, true);

请注意,您必须运行 Silverlight 4.0 或更高版本才能运行此代码。

【讨论】:

    【解决方案2】:

    您的 Process.start() 函数正在尝试在服务器上而不是在客户端上打开 MS Word。如果服务器和客户端在同一台机器上,它将打开 word 文件,即文档在您托管 Web 应用程序的同一台机器上。

    在客户端打开 word.exe 等的情况下,由于浏览器安全限制,您无法打开。你可以做一件事,给出一些word或excel文件的链接,这些文件可以在客户端下载,然后客户端可以使用它。希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-30
      • 2016-02-17
      • 1970-01-01
      • 2018-12-30
      • 2011-09-07
      相关资源
      最近更新 更多