Castle Windsor:抑制Resolve抛出的异常()

时间:2009-02-24 16:25:20

标签: .net castle-windsor

解析Windsor容器找不到的组件时,会抛出异常。

StructureMap有一个TryGetInstance方法,它返回null无法找到所请求的组件。

Castle Windsor有这样的东西吗?或者我被迫捕获这些异常(我不喜欢这样,因为抛出和捕获异常的性能开销)。

提前致谢,

REMCO

1 个答案:

答案 0 :(得分:12)

在调用Windsor容器的Resolve方法之前,您可以检查MicroKernel是否有已注册组件的实例。

以下内容应该有效。

if ( windsor.Kernel.HasComponent( componentType ) )
{
    return windsor.Resolve( componentType );
}

return null;