允许网站通过本地安装的服务与客户端PC进行交互

本文关键字:服务 客户端 PC 交互 安装 许网站 网站 | 更新日期: 2023-09-27 18:15:40

我目前正在开发一个企业内部网应用程序。我希望能够让用户安装一个windows服务或某种程序,可以与ASP交互。. NET网站,我们目前正在建设。

我的目标是点击网站上的一个按钮,并允许它与当前用户的计算机通信,使我能够创建Outlook电子邮件草稿以及其他只有在本地安装的程序才能完成的任务。

我怎样才能做到呢?理想情况下,我们需要它在所有浏览器上工作,或者至少是IE, Chrome和Firefox。

允许网站通过本地安装的服务与客户端PC进行交互

创建一个在本地运行的"worker"程序,并将其与某个文件扩展名(例如:* .sbonskosky)。

当你的web应用程序想要发送一些工作给本地程序时,让它生成一个*。Sbonskosky文件,该文件使用浏览器下载并由相关程序"执行"。类似于当浏览器要求"打开或保存"一个PDF文件而你选择"打开"时,它会启动Acrobat

如果您可以将客户端操作系统限制为Windows,那么ClickOnce是可行的方法。所有主流浏览器都支持它。

基本上,你创建一个桌面应用程序,并让它从服务器部署。当在客户端时,应用程序可以与所有本地组件交互,因为它在本地使用用户特权。

我现在对我们的网站和客户端计算机做类似的事情。基本上,我们所拥有的是一个通过安装程序安装到每台客户端计算机上的DLL。然后在我们的网页上,有一个通过JNI调用DLL的applet。当用户点击某个按钮或链接时,applet与c++ DLL对话,后者调用c# DLL来执行客户端代码。

由于您在用户的机器上运行了一个应用程序,因此您可以在该应用程序中托管一个WCF服务并将其绑定到特定的端口(例如44444)。然后从你的web应用程序发送http请求到localhost:44444。当用户点击网页上的按钮时,它会向运行在本地机器上的服务器发送请求。