.net 试图了解AuthorizationContext对象的生存期

.net 试图了解AuthorizationContext对象的生存期,.net,wcf,authorization,wcf-security,claims-based-identity,.net,Wcf,Authorization,Wcf Security,Claims Based Identity,我有一个简单的授权设置,可以在自定义授权策略(IAAuthorizationPolicy)中检查某些已配置的active directory角色,并在拥有这些角色时添加声明。除此之外,我还有一个子类ServiceAuthorizationManager,它覆盖了CheckAccessCore。它验证是否拥有在自定义授权策略评估中添加的某些声明,以确认或拒绝传入消息 因此,这些组件的设置在我的服务中运行良好-我的问题是何时调用它们/与它们关联的对象的生存期。我的子类ServiceAuthoriza

我有一个简单的授权设置,可以在自定义授权策略(IAAuthorizationPolicy)中检查某些已配置的active directory角色,并在拥有这些角色时添加声明。除此之外,我还有一个子类ServiceAuthorizationManager,它覆盖了CheckAccessCore。它验证是否拥有在自定义授权策略评估中添加的某些声明,以确认或拒绝传入消息

因此,这些组件的设置在我的服务中运行良好-我的问题是何时调用它们/与它们关联的对象的生存期。我的子类ServiceAuthorizationManager在每次调用服务时都会被调用—这是我所期望的。然而,我的自定义授权策略也会在每次调用服务时被调用——这不是我所期望的。我可以看到,每次调用服务时,都会生成一个新的AuthorizationContext对象

我认为我的期望是基于以下几点: AuthorizationContext将在身份验证发生后创建,而这不会在每次调用服务时都发生,因为客户端在NetCpBinding上连接,每次调用都在同一个代理上(我想是在传输上使用相同的开放套接字),使用传输安全性和windows凭据,使用服务会话实例

因此,我总体上期望的是,只有在创建新会话时,或者当旧的AuthorizationContext对象根据其ExpirationTime属性过期时(而不是每次调用服务时),才会生成AuthorizationContext

因此,如果有人能告诉我AuthorizationContext对象生命周期内的实际情况是什么,或者告诉我如何更改服务以使其按我预期的方式运行,我将非常感激

对于上下文-如果有什么不同的话-我仍然使用3.0 CLR库

谢谢