Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Configuration 本地NServicebus发布到Azure队列_Configuration_Azure_Nservicebus - Fatal编程技术网

Configuration 本地NServicebus发布到Azure队列

Configuration 本地NServicebus发布到Azure队列,configuration,azure,nservicebus,Configuration,Azure,Nservicebus,我们有一个使用NServicebus的内部部署web应用程序,我们希望将队列移动到azure(作为完全基于云的更大迁移路径的一部分)。我正在尝试建立POC,但似乎无法使其工作。 我有以下配置: <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net, Version=1.2.10.0, Culture=neutra

我们有一个使用NServicebus的内部部署web应用程序,我们希望将队列移动到azure(作为完全基于云的更大迁移路径的一部分)。我正在尝试建立POC,但似乎无法使其工作。


我有以下配置:

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821" />
     <section name="AzureQueueConfig" type="NServiceBus.Config.AzureQueueConfig, NServiceBus.Azure"/>
    <section name="UnicastBusConfig" type="NServiceBus.Config.UnicastBusConfig, NServiceBus.Core"/>
    <section name="MessageForwardingInCaseOfFaultConfig" type="NServiceBus.Config.MessageForwardingInCaseOfFaultConfig, NServiceBus.Core"/>
</configSections>

<MessageForwardingInCaseOfFaultConfig ErrorQueue="error" />
<AzureQueueConfig QueueName="timeoutmanager" 
                ConnectionString="DefaultEndpointsProtocol=https;AccountName=<My storage account>;AccountKey=<My primary access key>"/>

<UnicastBusConfig TimeoutManagerAddress="timeoutmanager">
<MessageEndpointMappings>
  <add Messages="TechFu.Services.Bus.Messages.Publishing.CMS.SitePagePublishMessage, TechFu.Services.Bus.Messages" Endpoint="sitepagepublish" />
</MessageEndpointMappings>

当我尝试发布到队列时,我收到以下消息:




我有点不知所措,我尝试了在网上找到的几种不同的示例,但我觉得我对azure知识的缺乏阻碍了我的发展。我从这个问题中提取了大部分配置:我缺少了什么魔法吗?

能否尝试从配置文件中删除对MsmqTransportConfig的任何引用?(使用Azure队列时,您实际上是在替换MSMQ传输)

能否尝试从配置文件中删除对MsmqTransportConfig的任何引用?(使用Azure队列时,实际上是在替换MSMQ传输)

我不熟悉NServicebus。但WindowsAzure有一个内置的服务总线,它可以自然地与队列集成。有关教程,请参阅

致以最良好的祝愿


徐明。

我不熟悉NServicebus。但WindowsAzure有一个内置的服务总线,它可以自然地与队列集成。有关教程,请参阅

致以最良好的祝愿


徐明。

目标队列是否存在?默认情况下,NServiceBus只创建源队列,因此如果目标不存在,它将不会为您创建源队列。

目标队列是否存在?默认情况下,NServiceBus只创建源队列,因此如果目标不存在,它将不会为您创建源队列。

我认为这不起作用,因为订阅消息无法在两台主机之间交换


更好地使用NServiceBus的网关概念,它将在不同的站点上分发消息。

我认为这不起作用,因为订阅消息无法在两台主机之间交换


更好地使用NServiceBus的网关概念,它将在不同的站点上分发消息。

没有区别,但我将更新问题,以反映使用MessageForwardingCaseofFaultConfig而不是MSMQTransportConfig没有区别,但我会更新这个问题,以反映使用MessageForwardingCaseofFaultConfig而不是MSMQTransportConfig在未来我们可能会走这条路线,但我们有一个使用内部NSB总线的整个基础设施,我们现在不能放弃。仅供参考。。。NServiceBus同时提供azure存储队列支持和开箱即用的服务总线队列支持……我很高兴使用服务总线队列;我只是在处理过程中没有看到任何代码示例或文档。我在什么地方遗漏了一份好的推荐信吗?我想在现场主持NSB进程,看起来所有的样本都是面向工作进程的。未来我们可能会走这条路线,但我们有一个使用内部NSB总线的整个基础设施,我们现在不能放弃。仅供参考。。。NServiceBus同时提供azure存储队列支持和开箱即用的服务总线队列支持……我很高兴使用服务总线队列;我只是在处理过程中没有看到任何代码示例或文档。我在什么地方遗漏了一份好的推荐信吗?我想在现场主持NSB进程,看起来所有的样本都是面向工作进程的。是的,我太傻了。在我向一位朋友展示了你的评论后,他向我展示了Azure Storage Explorer,这一切都很有意义。azure管理面板是一个多么不直观的界面啊-FTP会更友好…是的,你需要这样的工具来管理你的帐户。对于servicebus队列,这样更好一些,您可以在门户中创建这些队列(但不能查看它们内部)。是的,我真是太笨了。在我向一位朋友展示了你的评论后,他向我展示了Azure Storage Explorer,这一切都很有意义。azure管理面板是一个多么不直观的界面啊-FTP会更友好…是的,你需要这样的工具来管理你的帐户。对于servicebus队列更好一些,您可以在门户中创建这些队列(但不能查看它们内部)
Configure.WithWeb()
.StructureMapBuilder()
.InMemorySubscriptionStorage()
       .AzureMessageQueue()
        .JsonSerializer()
.UnicastBus()
        .LoadMessageHandlers()
              .IsTransactional(true)
.CreateBus()
       .Start();
The destination queue 'sitepagepublish@ DefaultEndpointsProtocol=https;AccountName=&lt;My storage account&gt;;AccountKey=&lt;My primary access key&gt;’ could not be found. You may have misconfigured the destination for this kind of message (TechFu.Services.Bus.Messages.Publishing.CMS.SitePagePublishMessage) in the MessageEndpointMappings of the UnicastBusConfig section in your configuration file. It may also be the case that the given queue just hasn't been created yet, or has been deleted.