我试图调用Bus.Publish来发布一条消息,但是我不知道出了什么问题,因为NSB的异常只是有一个空参数。
下面是堆栈跟踪:
System.ArgumentNullException: Value cannot be null.
Parameter name: key
at System.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)
at NServiceBus.Serializers.XML.MessageSerializer.WriteObject(String name, Type type, Object value, StringBuilder builder)
at NServiceBus.Serializers.XML.MessageSerializer.Serialize(IMessage[] messages, Stream stream)
at NServiceBus.Unicast.Transport.Msmq.MsmqTransport.Send(TransportMessage m, String destination)
at NServiceBus.Unicast.UnicastBus.SendMessage(IEnumerable`1 destinations, String correlationId, MessageIntentEnum messageIntent, IMessage[] messages)
at NServiceBus.Unicast.UnicastBus.Publish[T](T[] messages)
有人能帮上忙吗?
发布于 2010-12-14 17:30:28
找到答案了。显然,在NServiceBus中使用未在名称空间中声明的消息类型是非法的。不要问我为什么,但是包含我想要发布的类型的遗留代码没有在名称空间中声明该类型,所以我必须创建一个新类型才能使其工作。
https://stackoverflow.com/questions/4434586
复制