Unity 2에 NServiceBus 3.0.0 베타 2 사전 출시 객체 빌더를 사용하는 동안 다음 오류가 발생합니다. 추적 할 수있는 한 표시됩니다. AutowireEnabledInjectionProperty 빌더의 CommonObjectBuilder에 문제점이 있습니다. 다음과 같이 NSB에 대한NServiceBus 3 객체 빌더를 사용하여 Unity 2 컨테이너를 해결하는 문제
구성은 다음과 같습니다
public class NServiceBusContainerExtension : UnityContainerExtension
{
protected override void Initialize()
{
var busConfig = NServiceBus.Configure.WithWeb()
.Log4Net()
.UnityBuilder(Container)
.MsmqTransport()
.IsTransactional(true)
.PurgeOnStartup(false)
.XmlSerializer()
.UnicastBus();
var bus = busConfig
.CreateBus()
.Start();
Container.RegisterType<IPublisher, NServiceBusPublisher>(new InjectionConstructor(bus));
}
}
오류 :
[ArgumentNullException: Value cannot be null.
Parameter name: typeToCreate]
Microsoft.Practices.Unity.Utility.Guard.ArgumentNotNull(Object argumentValue, String argumentName) +55
NServiceBus.ObjectBuilder.Unity.AutowireEnabledInjectionProperty.AddPolicies(Type typeToCreate, Type implementationType, String name, IPolicyList policies) +87
Microsoft.Practices.Unity.UnityContainer.RegisterType(Type from, Type to, String name, LifetimeManager lifetimeManager, InjectionMember[] injectionMembers) +405
Microsoft.Practices.Unity.InjectedMembers.ConfigureInjectionFor(Type serviceType, Type implementationType, String name, InjectionMember[] injectionMembers) +66
Microsoft.Practices.Unity.InjectedMembers.ConfigureInjectionFor(Type typeToInject, InjectionMember[] injectionMembers) +22
NServiceBus.ObjectBuilder.Unity.ConfigureComponentAdapter.ConfigureProperty(String name, Object value) +325
NServiceBus.ObjectBuilder.Unity.UnityObjectBuilder.ConfigureProperty(Type concreteComponent, String property, Object value) +338
NServiceBus.ObjectBuilder.Common.ComponentConfig.NServiceBus.ObjectBuilder.IComponentConfig.ConfigureProperty(String name, Object value) +120
NServiceBus.ObjectBuilder.Common.ComponentConfig`1.NServiceBus.ObjectBuilder.IComponentConfig<T>.ConfigureProperty(Expression`1 property, Object value) +266
NServiceBus.ObjectBuilder.Common.Config.ConfigureCommon.With(Configure config, IContainer container) +633
NServiceBus.ConfigureUnityBuilder.UnityBuilder(Configure config, IUnityContainer container) +112
우디 (Udi)는 메시지 유형을 말하는 것입니까? – BlackICE
아니요, 이것은 모든 핸들러 유형뿐만 아니라 핸들러에 주입하고자하는 모든 것입니다. –