问题
Anyone using NServiceBus 2.0 successfully with Unity 2.0?
I've tried to compile sources of NServiceBus.ObjectBuilder.Unity.dll against Unity 2.0 assemblies but got several compile-time errors because of changed/deleted signatures of many object methods in new Unity.
In the documentation Udi Dahan says that attaching any container is as easy as implementing 5 methods of IContainer
. But when i look into NServiceBus.ObjectBuilder.Unity implementation i see that there is a LOT more work to be done. Why it is so?
回答1:
Unity, by default, behaves different from what NSB expects. That's why there is a need for some custom extensions to make it compatible with ObjectBuilder contract. There are two major differences:
- Unity requires DependencyAttribute to inject dependency into the property. NSB expects ObjectBuilder to inject in any property that with matching type
- When doing property injection unity treats property dependencies as mandatory whereas NSB expects them to be optional.
I believe that these features are preserved in version 2.0 and it will be easy to migrate them. I should have some time this week and I hope I will create a Unity v2 implementation. I'll let you know when it's finished.
Edit: Done. The Unit 2 object builder is in the trunk.
来源:https://stackoverflow.com/questions/3797980/nservicebus-with-unity-2-0