views:

26

answers:

1

I've registered a component

container.Register(Component.For<XType>()
 .LifeStyle.Is(LifestyleType.Transient)
 .UsingFactoryMethod(SomeMethod));

and am currently using this for property injection on my ASP.NET MVC controllers. However - my current problem is that SomeMethod can return null sometimes. Castle is not all too happy about this and complains about a null instance.

Is there a neat way to configure Windsor to allow this component to be null? I've been exploring the docs but haven't found a way to do it.

Thanks.

A: 

No, there's no way to pass null via Windsor.

If the component is null, than it obviously can not be used, so it would be pointless if that would possible anyway.

If you're using this component only as a property on some other component, I think it would be better to just pass it as DynamicParameter. Windsor will then just ignore it if it's null.

Krzysztof Koźmic
It is a transient dependency that is sometimes null - usually it has a meaningful value - the factory method is called for each request. I can't see how that is entirely pointless.
RasmusKL