如何在客户端计算机上获取程序以从ASP.NET页面运行?
我有一个应用程序,我试图在Intranet上运行。 在我的机器上它工作得很好(着名的遗言)但是当我把它放到服务器上时,它没有用。 当我看到“系统找不到指定文件”错误时,我认为它必须是尝试运行客户端计算机上的程序。
是的,如果浏览器中的任何应用程序可以在客户端计算机上运行可执行文件,那将是一场安全噩梦。 内联网有什么不同吗? 它将运行的少数计算机具有与其运行的IE和.NET相同的版本,并且它们都具有运行所需的.exe。
以下是该项目的概述:
- 员工和参与者走进包含计算机的房间。
- 员工打开我的网络应用程序并查找该人的ID(此部分有效)
- 单击“记录”应执行已安装程序的隐藏启动,该程序开始记录。
- 完成后,员工单击完成(或应用程序超时)并保存文件。
- 文件上传到服务器。
- 员工缺乏技术经验,所以我的目标是为他们提供一个网站,只需一个盒子即可获得参与者ID和两个巨大的“RECORD”和“STOP”按钮
任何人都可以帮我解决如何做到这一点(或者至少让我知道这是不可行的)?
如果您将您的网站放在IE Trusted或Intranet区域,以下Javascript将正常工作。 我在内部使用这个将我们的PC支持数据库搜索链接到我们的远程屏幕控制软件:
我的理解是,可以使用HttpWebRequest
类将本地程序中的工作结果上传到Web服务器,如本文所示:
http://forums.asp.net/p/1482778/3464854.aspx
编辑:这是我如何调用上述function。 基本上我只是使用onclick
属性渲染一个普通的元素。 可能有更简洁的方法,但它的工作原理:
标记:
<%# RenderDameWareLinks(Eval("ResourceName"))%>
码:
Protected Function RenderDameWareLinks(ByVal strHostname As String) As String Dim strFullLink As String = String.Empty Dim strViewLink As String = String.Empty strFullLink = "" strFullLink &= "" strFullLink &= "
" strViewLink = "" strViewLink &= "" strViewLink &= "" Return strFullLink & strViewLink End Function
一个想法:您可以注册协议处理程序以使用所需参数启动您的应用程序。
有几种方法可以做到这一点。 一个人不违反安全(很多)。
您可以下载具有特定文件类型的文件。 该文件类型可以与客户端程序关联,因此在单击“确定”下载文件后,客户端程序将启动。 下载的文件可能包含也可能不包含某些数据,如某些对象的ID。
另一种方法是使用ActiveX,它确实具有安全隐患。
由于机器已经需要安装这个“隐藏”程序,为什么不只是编写一个本机应用程序并安装它并让员工运行而不是你的Web应用程序?