我是NService总线的新手,我正在尝试使用MSMQSubscribtion存储创建一个总线,但我收到以下错误.
启动端点时出现异常,已记录错误.原因:创建名为"NServiceBus.Unicast.Subscriptions.Msmq.MsmqSubscriptionStorage"的对象时出错:设置属性值时出错:PropertyAccessExceptionsException(1 errors); 嵌套的PropertyAccessExceptions是:[Spring.Core.TypeMismatchException:无法将类型[System.String]的属性值转换为属性'Queue'所需的类型[System.String].,内部异常:System.ArgumentException:存在问题订阅存储队列.有关详细信息,请参阅附上 ---> System.Messaging.MessageQueueException:格式名无效.在System.Messaging.MessageQueue.MQCacheableInfo.get_Transactional()处于NServiceBus的System.Messaging.MessageQueue.get_Transactional()处.
这是我的配置部分.
<configuration>
<configSections>
<section name="MsmqTransportConfig" type="NServiceBus.Config.MsmqTransportConfig,NServiceBus.Core"/>
<section name="UnicastBusConfig" type="NServiceBus.Config.UnicastBusConfig,NServiceBus.Core"/>
<section name="MsmqSubscriptionStorageConfig"
type="NServiceBus.Config.MsmqSubscriptionStorageConfig,NServiceBus.Core" />
</configSections>
<MsmqTransportConfig InputQueue="MyResponseQueue" ErrorQueue="error" NumberOfWorkerThreads="1" MaxRetries="5"/>
<UnicastBusConfig>
<MessageEndpointMappings>
<add Messages="MyMessages.Message1" Endpoint="PubQueue"/>
</MessageEndpointMappings>
</UnicastBusConfig>
</configuration>
Run Code Online (Sandbox Code Playgroud)
这就是我尝试创建总线的方式
NServiceBus.Configure.With()
.DefaultBuilder()
.Log4Net()
.MsmqSubscriptionStorage()
.XmlSerializer()
.MsmqTransport()
.IsTransactional(true)
.UnicastBus()
.CreateBus();
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释我的错误吗?任何帮助将非常感激.
谢谢Alex.
看起来你错过了实际的MsmqSubscriptionStorageConfig部分.这是必需的,并将指向您的订阅队列.
<MsmqSubscriptionStorageConfig Queue="queueName" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2197 次 |
| 最近记录: |