代码之家  ›  专栏  ›  技术社区  ›  Jeff

温莎城堡删除组件错误

  •  3
  • Jeff  · 技术社区  · 15 年前

    我在Windsor容器上调用Kernel.RemoveComponent,它返回false。我知道组件存在(我已经用相同的键调用GetHandler进行了验证,它返回了预期的信息)…那么为什么我不能从容器中删除我的组件呢?如何排除故障?

    在OperationContext建立之前,我有一堆身份验证和授权发生在WCF服务中的独立处理程序和组件中(OperationContext.Current仍然为null)。在此期间,我需要从请求上下文访问请求消息。我想将RequestContext实例以每个线程的生存期存储在我的容器中。每次新请求时,我都需要覆盖这个实例,这样就不会检索到错误的请求消息。这对温莎来说不是一个好任务吗?如果我不能在重新注册每个新的RequestContext之前删除组件,那么所有的RequestContext将永远不会被释放,对吗?

    谢谢!

    1 回复  |  直到 15 年前
        1
  •  2
  •   Krzysztof Kozmic    15 年前

    RemoveComponent 如果有其他依赖该组件的组件,则不会移除该组件。为什么你一开始就把组件卸下来而不是放在容器里?