将Windows应用程序转换为基于Web的

时间:2012-09-10 10:12:21

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

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

现在,我打算发布一个基于Web的应用程序版本。我的想法是,如果用户可以通过网络访问我的应用程序,他/她可以运行MSword,Excel和通过我的应用程序可用的所有应用程序。

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

3 个答案:

答案 0 :(得分:1)

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

如果在客户端打开word.exe等,则由于浏览器安全限制而无法使用。您可以做一件事给链接到某个单词或excel文件,可以在客户端下载,然后客户端可以使用它。希望它有所帮助

答案 1 :(得分:0)

您可能正在寻找的内容已在某些第三方解决方案中实施。例如,请参阅Ericom AccessNow Demo。这是尝试演示的直接链接,无需输入您的电子邮件等。

免责声明:我不以任何方式与Ericom有任何关系。

答案 2 :(得分:0)

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

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

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

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