【发布时间】:2015-03-11 10:22:11
【问题描述】:
通过阅读this,我认为客户端在执行 IsInitiating=true 服务方法之前无法运行 IsInitiating=false 服务方法。但是在我们的 WCF 服务中是一个单例,我可以随意调用服务方法,不需要先调用 IsInitiating=true 服务方法吗?这到底是如何工作的?
我正在使用 IAuthorizationPolicy Evaluate 我设置这样的临时上下文
evaluationContext.Properties["Principal"] = userContext;
这可能是问题吗?
我现在必须检查 messageAction 而不是使用 IsInitiating,如果它不是登录服务方法,则检查是否存在存储的上下文,否则抛出安全异常。
编辑:
这是服务设置使用的内容:
InstanceContextMode = InstanceContextMode.PerCall
oncurrencyMode = ConcurrencyMode.Multiple
SessionMode = SessionMode.Required
【问题讨论】:
标签: c# wcf session communication principal