Notice: Undefined index: in /data/phpspider/phplib/misc.function.php on line 226
C# 将windows应用程序转换为基于web的应用程序_C#_Vb.net_Web Services_Web Applications - Fatal编程技术网

C# 将windows应用程序转换为基于web的应用程序

C# 将windows应用程序转换为基于web的应用程序,c#,vb.net,web-services,web-applications,C#,Vb.net,Web Services,Web Applications,我开发了一个windows应用程序。该应用程序基本上是一个控制台,可帮助用户启动多个应用程序,如MS word.exe、MSExcel.exe、Windows calculator等。该应用程序目前与Windows应用程序一样运行良好。通常通过Process.Start()方法启动应用程序 现在,我计划发布一个基于web的应用程序版本。我的想法是,如果用户可以通过web访问我的应用程序,他/她可以运行MSword、Excel以及通过我的应用程序可用的所有应用程序 请指导我如何才能做到这一点。 谢

我开发了一个windows应用程序。该应用程序基本上是一个控制台,可帮助用户启动多个应用程序,如MS word.exe、MSExcel.exe、Windows calculator等。该应用程序目前与Windows应用程序一样运行良好。通常通过Process.Start()方法启动应用程序

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

请指导我如何才能做到这一点。 谢谢

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


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

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

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

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

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

您指的是类似于microsoft的office web apps(软件即服务场景)?您不能(轻松)从网页运行本地exe。我认为最好的解决方案是通过ClickOnce在web上部署winforms应用程序。是的,它可以是一个软件即服务,但我可以实现吗?ClickOnce仅部署我有源代码的应用程序。我的应用程序启动其他第三方应用程序(exe),我没有这些应用程序的源代码。我们能用CLickOnce实现吗??