该设备已经被占用了.NET 1.12 POS 中的不同用户帐户下运行的应用程序时,应用程序无法声称设备


症状


应用程序使用 Microsoft 服务点 (POS) 的.NET 1.12 索求设备。在这种情况下,不同用户帐户下运行的应用程序不能声称此设备。发生此问题时,.NET 1.12 的 POS 执行不正确声明的逻辑和错误返回 ArgumentNullException 异常。此外,连续尝试通过其他用户帐户来声称该设备失败即使设备被释放。

备注:
  • 如果声称该设备的应用程序相同的用户帐户下运行,就不会发生此问题。
  • ArgumentNullException 异常不是对应于所发生故障的异常。当发生此问题时,您希望对应于故障要返回的异常。

原因


出现此问题的原因是只有一个用户帐户可以访问.NET 1.12 的 POS 使用全局事件。为.NET 1.12 POS 使用全局事件时使用已命名的事件的服务对象声明设备跟踪设备的状态。

注意:在.NET 1.12 的 POS 设备的基本类和基类设备使用命名的事件。但是,基于基本设备类的服务对象可以提供自己的实现,以确保在任何时候声明的设备只有一个实例。

解决方案


更新信息

此更新提供了安全属性时,将创建全局事件。该安全属性允许多个用户帐户访问全局事件。如果应用程序声明设备时出现问题,.NET 1.12 的 POS 执行正确声明的逻辑,然后又返回发生的失败异常相对应。

如何获取此更新

下列文件已可从 Microsoft 下载中心下载:
Download 立即下载更新包。
有关如何下载 Microsoft 支持文件的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
119591如何从联机服务获得 Microsoft 支持文件
Microsoft 已对此文件进行病毒扫描。Microsoft 使用自该文件发布日期起可用的最新的病毒检测软件。该文件存储在安全增强型服务器上,帮助防止对文件进行任何未经授权的更改。

系统必备组件

若要应用此更新,您必须运行 POS.NET 1.12。

注册表信息

若要应用此更新,您不必对注册表进行任何更改。

重启要求

您可能需要在应用此更新后,重启计算机。

更新替换信息

此更新不替代以前发布的更新。

文件信息

此修复程序的英语 (美国) 版本将安装具有下表中列出的属性的文件。这些文件的日期和时间以协调世界时 (UTC) 列出。您的本地计算机上这些文件的日期和时间以您的本地时间加上当前夏令时 (DST) 偏差显示。此外,当您对文件执行某些操作时,日期和时间可能会更改。
文件名称文件大小日期时间
Kb980087.msp78,33601-Feb-201007:04

状态


Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。

详细信息


有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

用于描述 Microsoft 软件更新的标准术语的824684说明