C# 保持智能卡资源管理器在未插入读卡器的情况下运行
我正在尝试使用pcsc sharp监控读卡器何时连接/分离。但是,当没有插入读卡器整整2分钟时,我收到C# 保持智能卡资源管理器在未插入读卡器的情况下运行,c#,.net,windows,pcsc,C#,.net,Windows,Pcsc,我正在尝试使用pcsc sharp监控读卡器何时连接/分离。但是,当没有插入读卡器整整2分钟时,我收到智能卡资源管理器未运行错误。在Windows“服务”应用程序中,您还可以看到智能卡服务已停止运行 我尝试了pcsc sharp示例代码中包含的简短示例(GitHub上的源代码中包含): 在内部,pcsc夏普使用,但MS doc的这一功能不是很有启发性 一个快速而肮脏的解决方案是用OnError方法重新订阅pcsc夏普的设备监视器 private static void OnError(E
智能卡资源管理器未运行错误。在Windows“服务”应用程序中,您还可以看到智能卡服务已停止运行
我尝试了pcsc sharp示例代码中包含的简短示例(GitHub上的源代码中包含):
在内部,pcsc夏普使用,但MS doc的这一功能不是很有启发性
一个快速而肮脏的解决方案是用OnError方法重新订阅pcsc夏普的设备监视器
private static void OnError(Exception exception) {
Console.WriteLine($"{DateTime.Now} ERROR: {exception.Message}");
var factory = DeviceMonitorFactory.Instance;
var subscription = factory
.CreateObservable(SCardScope.System)
.Subscribe(OnNext, OnError);
}
。。。但是,有没有更干净的方法来保持智能卡资源管理器的运行
private static void OnError(Exception exception) {
Console.WriteLine($"{DateTime.Now} ERROR: {exception.Message}");
var factory = DeviceMonitorFactory.Instance;
var subscription = factory
.CreateObservable(SCardScope.System)
.Subscribe(OnNext, OnError);
}