我有一个WCF服务的设置来控制我们的.Net应用的USB指纹识别器。这工作得很好,我可以要求其登记用户等。

读取器允许标识(它告诉你特定用户已提出了他们的手指,而不是要求它验证特定用户的手指是存在的),但该设备必须不断轮询而在识别模式下其状态 - 当用户检测到状态的变化

我要的是一个有兴趣的应用,通知它想知道当一个用户被识别的服务,并提供当这一切发生的是被触发的回调。 WCF服务将立即返回并产生一个线程在后台不断地轮询设备。如果没有人试图登录该投票可能在一个时间持续好几个小时。

什么是达致这最好的方法是什么?我的服务合同当前被定义为如下:

[ServiceContract (CallbackContract=typeof(IBiometricCallback))]
public interface IBiometricWcfService
{
    ...
    [OperationContract (IsOneWay = true)]
    void BeginIdentification();
    ...
}

public interface IBiometricCallback
{
    ...
    [OperationContract(IsOneWay = true)]
    void IdentificationFinished(int aUserId, string aMessage, bool aSuccess);
    ...
}

在我BeginIdentification()方法我可以很容易地生成一个工作线程轮询的设备,或者是更容易使WCF服务异步?

有帮助吗?

解决方案

我觉得这是更好地使WCF服务操作异步。这MSDN文章展示了如何做到这一点: http://msdn.microsoft.com /en-us/library/ms730059.aspx

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top