我在我的 Windsor 容器上调用 Kernel.RemoveComponent,它返回 false。我知道该组件存在(我已经通过使用相同的 key 调用 GetHandler 进行了验证,它返回了预期的信息)...那么为什么我不能从容器中删除我的组件?我该如何解决这个问题?
在建立 OperationContext(OpertaionContext.Current 仍然为空)之前,我在我的 WCF 服务中的独立处理程序和组件中进行了一系列身份验证和授权。在此期间,我需要从请求上下文中访问请求消息。我想将 RequestContext 实例存储在我的容器中,每个线程都有生命周期。根据每个新请求,我需要覆盖这个实例,这样我就不会检索到错误的请求消息。这对温莎来说根本就不是一件好事吗?如果我不能在重新注册每个新的 RequestContext 之前删除该组件,那么所有的 RequestContext 都将永远不会被释放,对吗?
谢谢!
最佳答案
如果有其他组件依赖于它,
RemoveComponent
将不会删除该组件。为什么要删除组件而不是首先将其放入容器中?
关于dependency-injection - 城堡温莎 RemoveComponent False,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3115621/