如何在ASP.NET应用程序中唯一标识客户端计算机?
我有一个在托管环境中运行的服务器应用程序,但在客户端的本地网络中创建打印作业(在NAT后面;其机制不相关).
为了将打印作业发送到连接到工作站的打印机,我需要识别工作站.用户在工作站之间移动,因此我无法永久地将用户与工作站/打印机关联.简单的解决方案是要求用户识别他登录的机器,例如通过从列表中选择,但这是不方便的并且受用户错误的影响. 我已经淘汰的选项: >主机头变量(无法识别可发送) 还有其他想法吗? 编辑:我确实可以选择puttnig这个特定的功能(创建一个打印作业)到一个胖客户端应用程序.然后可以配置应用程序,问题就会消失.但是用户体验将不得不在浏览器和Windows应用程序之间切换. 解决方法
我不会讨论你的奇怪场景,只回答你的问题:如何识别机器?
那么,目前HTTP协议没有紧密的解决方案.所有机器共享相同的IP,因为它们位于NAT之后.你无法获得MAC地址.您无法获取硬件标识符.您无法确定所有计算机是否会向服务器发送不同的标头(即所有不同的浏览器/版本). 你可以依赖cookies.尝试创建某种形式的机器身份验证,或更好的机器识别页面,从每台机器浏览一次,告诉服务器哪台打印机在该机器上使用,然后在该机器上设置永久cookie. 一旦cookie不被删除(也许你可以随时更新cookie,你永远不会知道……)你有一个简单的机制. 这是我能建议的最好的:( (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET网站中使用Ninject 3进行依赖注入
- 如果ASP.NET应用程序使用许多DLL,那么保持每个dll的配置分离
- asp.net – 如何防止超链接链接
- asp.net – IIS 7.0不允许下载MP4视频
- 如何在ASP.Net中将HTML页面转换为图像格式
- asp.net-web-api – 如何配置OData不处理Web Api中的非odat
- asp.net – DBMS如何影响应用程序性能?和Informix GUI工具
- asp.net – 如何解决错误:当应用程序未在UserInteractive模
- asp.net – 在请求结束前触发Application_EndRequest?
- asp.net – UpdatePanel.Visible = true无效