如何在Web应用程序中的客户端系统上打开.exe文件

时间:2016-09-12 06:36:32

标签: c# asp.net .net iis

我正在开发一个Web应用程序,在这里我想在服务器上打开客户端系统上的.exe,这意味着在IIS中托管我的站点之后。当用户点击我网站上的链接时,是否可以在客户端上打开例如记事本或Windows媒体播放器?

2 个答案:

答案 0 :(得分:3)

这是不可能的。如果可能的话 - 它应该立即删除。 原因很简单 - 安全性,如果你使用浏览器,它几乎意味着一切。

如果要启动一些外部可执行文件 - 只需创建WPF或WinForms应用程序客户端,并与WCF服务进行通信。这样您就可以在客户端自由使用您想要的一切。

答案 1 :(得分:0)

在某些情况下,这是一种常见情况。 mailto:网址方案就是一个例子。单击此类链接时,将打开您的默认邮件应用程序。或者作为另一个示例,您可以在SharePoint应用程序中看到这样的功能,它打开OneDrive for Business以同步文档或使用其他办公应用程序。另外,skype:是另一个例子。

要在您的应用程序中使用此功能,您可以使用以下任一选项:

  1. 您可以将应用程序注册到自定义URI方案,然后您可以通过指定的URL激活该应用程序并在URL中传递参数。有关更多信息,请查看:

  2. 您可以通过指定安装URL来使用ClickOnce部署。然后,您只需使用该URL打开应用程序,并使用查询字符串将参数传递给应用程序 有关更多信息,请查看:

  3. 警告

    小心!您可能会为应用程序和客户端引入安全漏洞。传递数据时,请注意InjectionInsecure Direct Object ReferencesSensitiveData Exposureso on等安全漏洞。

    特别是如果您想使用此类协议创建中间件来打开不属于您的程序,您应该只公开该程序的一组最小安全功能,并将操作挂起到用户确认。例如,mailto:使用一些最小数据激活邮件程序但不发送电子邮件。用户应按自己发送。