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

时间:2013-05-28 18:57:29

标签: c# asp.net windows

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

目标是点击网站上的按钮并允许它与当前用户的计算机进行通信,这样我就可以创建Outlook电子邮件草稿以及只有本地安装的程序才能实现的其他任务。

我怎么能把它关掉?理想情况下,我们需要它可以在所有浏览器中运行,或者至少在IE,Chrome和Firefox上运行。

4 个答案:

答案 0 :(得分:1)

创建一个本地运行的“worker”程序,并将其与某个文件扩展名相关联(例如* .sbonskosky)。

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

答案 1 :(得分:0)

如果您可以将客户端操作系统限制为Windows,则可以使用ClickOnce。它受到所有主流浏览器的支持。

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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