加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

如何在ASP.NET应用程序中唯一标识客户端计算机?

发布时间:2020-12-16 09:21:25 所属栏目:asp.Net 来源:网络整理
导读:我有一个在托管环境中运行的服务器应用程序,但在客户端的本地网络中创建打印作业(在NAT后面;其机制不相关). 为了将打印作业发送到连接到工作站的打印机,我需要识别工作站.用户在工作站之间移动,因此我无法永久地将用户与工作站/打印机关联.简单的解决方案是
我有一个在托管环境中运行的服务器应用程序,但在客户端的本地网络中创建打印作业(在NAT后面;其机制不相关).

为了将打印作业发送到连接到工作站的打印机,我需要识别工作站.用户在工作站之间移动,因此我无法永久地将用户与工作站/打印机关联.简单的解决方案是要求用户识别他登录的机器,例如通过从列表中选择,但这是不方便的并且受用户错误的影响.

我已经淘汰的选项:

>主机头变量(无法识别可发送)
> Cookies,支持用户选择.这有点解决了用户错误的可能性,但并非如此.
> HTML5 DOM存储 – 客户端的浏览器不支持

还有其他想法吗?

编辑:我确实可以选择puttnig这个特定的功能(创建一个打印作业)到一个胖客户端应用程序.然后可以配置应用程序,问题就会消失.但是用户体验将不得不在浏览器和Windows应用程序之间切换.

解决方法

我不会讨论你的奇怪场景,只回答你的问题:如何识别机器?

那么,目前HTTP协议没有紧密的解决方案.所有机器共享相同的IP,因为它们位于NAT之后.你无法获得MAC地址.您无法获取硬件标识符.您无法确定所有计算机是否会向服务器发送不同的标头(即所有不同的浏览器/版本).

你可以依赖cookies.尝试创建某种形式的机器身份验证,或更好的机器识别页面,从每台机器浏览一次,告诉服务器哪台打印机在该机器上使用,然后在该机器上设置永久cookie.

一旦cookie不被删除(也许你可以随时更新cookie,你永远不会知道……)你有一个简单的机制.

这是我能建议的最好的:(

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读