当前位置: 首页 > 知识库问答 >
问题:

Azure本地开发队列连接字符串

聂溪叠
2023-03-14

我使用VS 2013中QueueWorkerRole的模板创建了一个新的WorkerRole,它创建的代码如下所示:

        // Create the queue if it does not exist already
        var connectionString = CloudConfigurationManager.GetSetting("Microsoft.ServiceBus.ConnectionString");
        var namespaceManager = NamespaceManager.CreateFromConnectionString(connectionString);
        if (!namespaceManager.QueueExists(QueueName))
        {
            namespaceManager.CreateQueue(QueueName);
        }

        // Initialize the connection to Service Bus Queue
        _client = QueueClient.CreateFromConnectionString(connectionString, QueueName);

我遇到的问题是正确设置Microsoft.ServiceBus.ConnectionString,以便它可以与我在模拟器中运行的本地开发队列一起工作。默认情况下,它像这样设置:

<appSettings>
    <!-- Service Bus specific app setings for messaging connections -->
    <add key="Microsoft.ServiceBus.ConnectionString" value="Endpoint=sb://[your namespace].servicebus.windows.net;SharedSecretIssuer=owner;SharedSecretValue=[your secret]" />
</appSettings>

我想,当我有一个托管服务可以连接时,这将很好地工作,但我只是在本地尝试一些东西,无法让它连接。

我已经尝试了"UseDevelopmentStorage=True"和我已经尝试使用我在查看存储模拟器UI"127.0.0.1:10001"以及使用标准格式的本地模拟器时找到的地址,我在这里找到:http://www.connectionstrings.com/windows-azure/(DefaultEndpoint sProtocol=https; Account tName=dev在帐户1; Account tKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;)但我没有运气。

有时我在Compute Emulator UI中看到“服务总线连接字符串包含无效属性”,有时我收到它无法连接的错误。

谢谢。

共有1个答案

姚星腾
2023-03-14

这里的问题是,您试图将队列连接字符串插入到服务总线连接字符串创建器中。这两个连接字符串本质上是不同的。

要使用开发存储,您需要将要使用的应用程序设置键的值设置为:“UseDevelopmentStorage=true”,如以下堆栈溢出所示:Windows Azure Storage Emulator Connection String for ASP.NET MVC?这将适用于存储(不是服务总线)

 类似资料:
  • 我们有一个使用NServicebus的本地Web应用程序,我们希望将队列移动到Azure(作为完全基于云的更大迁移路径的一部分)。我正试图建立一个POC,但似乎无法让它工作。 我有以下配置: 在我的应用程序中,我将总线配置为: 当我尝试发布到队列时,我得到以下消息: 我有点不知所措,我尝试了在网上找到的几种不同的示例,但我觉得我对azure知识的缺乏阻碍了我的发展。我从这个问题中提取了大部分配置:

  • 我正在开发我的第一个Azure实现,我已经设置了我的Azure帐户,并且我使用NuGet为我的应用程序安装了正确的DLL和配置。当我将我的WCF客户端设置为指向服务总线队列并运行该方法时,会出现以下异常: 微软。ServiceBus.服务器错误 我的endpoint配置是: 我的行为是: 这个错误消息非常通用,我不确定我应该首先查看哪个位置

  • 我们正在本地开发该函数,尽管我们可以使用 ConfigurationBuilder()。AddAzureKeyVault() 在启动以检索密钥保管库机密时,我们正在努力使队列触发器从 Key Vault 获取连接字符串。如下所示,连接当前是从 local.settings.json 中存在的 AzureWebJobsStorage 密钥检索的: local.settings.json

  • 我们正在JBoss EAP 7.3中创建ActiveMQ Artemis队列,并从使用Spring Boot开发的远程应用程序调用它们。到目前为止,我们使用协议连接到远程ActiveMQ Artemis,我们使用连接工厂作为。这组配置工作正常。 现在,我们将在创建队列的同一台JBoss服务器上部署Spring Boot应用程序,我们需要在本地而不是远程访问队列。为了在本地访问队列,我们将连接工厂更

  • 我目前正努力在nServiceBus托管的应用程序上启动并运行一些东西。我有一个第三方正在向其发布消息的azure ServiceBus队列,我希望我的应用程序(目前在本地托管)接收这些消息。 我在谷歌上搜索了如何配置endpoint的答案,但我在有效的配置中没有运气。有人这样做过吗,因为我可以找到如何连接到Azure存储队列但不是服务总线队列的示例。(由于其他原因,我需要Azure servic