Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Web应用程序的客户端系统上打开.exe文件_C#_Asp.net_.net_Iis - Fatal编程技术网

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

C# 如何在Web应用程序的客户端系统上打开.exe文件,c#,asp.net,.net,iis,C#,Asp.net,.net,Iis,我正在开发一个web应用程序,在这里我想从服务器在客户端系统上打开.exe,这意味着在IIS中托管我的站点之后。当用户单击“我的网站”上的链接时,是否可以在客户端打开记事本或windows media player?这是不可能的。如果可能的话,应该立即移除。 原因很简单-安全性,如果您使用浏览器,它几乎意味着一切 如果您想启动一些外部可执行文件,只需创建WPF或WinForms应用程序客户端,并与WCF服务对话即可。这样,您就可以在客户端自由地使用您想要的任何东西。在某些情况下,这是一种常见的情

我正在开发一个web应用程序,在这里我想从服务器在客户端系统上打开
.exe
,这意味着在IIS中托管我的站点之后。当用户单击“我的网站”上的链接时,是否可以在客户端打开记事本或windows media player?

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


如果您想启动一些外部可执行文件,只需创建WPF或WinForms应用程序客户端,并与WCF服务对话即可。这样,您就可以在客户端自由地使用您想要的任何东西。

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

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

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

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

  • 警告

    小心!您可能会给应用程序和客户端引入安全漏洞。在传递数据时,请小心安全漏洞,如、、和


    特别是如果您想使用这些协议创建一个中间件来打开一个不是您的程序,那么您应该只公开该程序的一组最小的安全功能,并等待用户确认操作。例如,
    mailto:
    使用少量数据激活邮件程序,但不发送电子邮件。用户应按“发送自己”。

    出于安全原因,您不能这样做。请参阅中的一些解决方法。如果在客户端上安装并运行了一个程序(console/winform),则该程序可以“Ping”服务器以获取网络远程处理形式的指令。Citrix程序就是这类技术的一个例子。但是用户需要安装并了解它是如何成为white hat的。你到底想做什么?Web应用程序只能使用
    应用程序协议
    打开特定的应用程序(),您是要在其应用程序中打开文档/文件,还是要启动任意可执行文件?Hi rboe。在这里,我想打开客户端系统中的文档