我已在wcf服务中使用消息检查器机制实现了消息层安全性。
在客户端,IClientMessageInspector.BeforeSendRequest
我添加了一个身份验证标头。
在服务端,在IDispatchMessageInspector.AfterReceiveRequest
中,我检查消息中的身份验证标头。如果找不到或按预期,我抛出SecurityException
并尝试将其记录到数据库中。
这是有趣的部分。当我登录到数据库时,我尝试再次从这个webservice读取(这是提供配置信息的web服务)。
这是服务停滞/死锁的地方。我可以看到调用读取配置(当记录到db时),但是我没有接收到该服务的调用。我每次都会收到一个超时例外。
经过一番谷歌搜索后,我遇到了this帖子,其中提到信息检查员本质上是同步的。如果是这样,我怎样才能实现我的目标?