Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.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
从Azure网站访问Azure服务总线队列_Azure_Azure Web App Service_Servicebus_Azureservicebus_Azure Servicebus Queues - Fatal编程技术网

从Azure网站访问Azure服务总线队列

从Azure网站访问Azure服务总线队列,azure,azure-web-app-service,servicebus,azureservicebus,azure-servicebus-queues,Azure,Azure Web App Service,Servicebus,Azureservicebus,Azure Servicebus Queues,一旦部署到云,我无法从Azure网站访问Azure服务总线队列在本地主机上运行时,如果工作正常,我可以向队列发送消息,但如果我部署应用程序,在远程服务器上创建QueueClient时会出现异常: “套接字连接被中止,因为异步发送到 套接字未在分配的超时内完成 00:00:59.4820817。分配给此操作的时间可能是一段时间 较长超时的一部分。” 我正在使用QueueClient.CreateFromConnectionString(connectionString)方法。调试器显示connec

一旦部署到云,我无法从Azure网站访问Azure服务总线队列在本地主机上运行时,如果工作正常,我可以向队列发送消息,但如果我部署应用程序,在远程服务器上创建QueueClient时会出现异常:

“套接字连接被中止,因为异步发送到 套接字未在分配的超时内完成 00:00:59.4820817。分配给此操作的时间可能是一段时间 较长超时的一部分。”

我正在使用QueueClient.CreateFromConnectionString(connectionString)方法。调试器显示connectionString变量一切正常

连接字符串为:

Endpoint=sb://[已删除].servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=[已删除]

我尝试将“Copy Local=True”设置为所有引用,但没有成功。 我正在使用WindowsAzure.ServiceBus 2.6.4 nuget

此外,如果队列存在,则不会在NamespaceManager.QueueExists(name)上引发异常,但如果队列不存在,则在NamespaceManager.CreateQueue(name)上引发异常

有人经历过这样的问题吗?提前谢谢你的提示

更新1:

为了澄清,我提供了代码块和跟踪输出:

System.Diagnostics.Trace.TraceError(“开始”);
var queueClient=queueClient.CreateFromConnectionString(this.configuration.ServiceBusConnectionString,“points”);
System.Diagnostics.Trace.TraceError(this.configuration.ServiceBusConnectionString);
queueClient.Send(新建BrokeredMessage());
系统诊断跟踪跟踪错误(“结束”);
生成输出:

  • 正在连接到应用程序日志

  • 2015-03-29T01:40:29欢迎光临,您现在已连接到日志流服务

  • 应用:2015-03-29T01:40:41 PID[1952]错误开始

  • 应用程序:2015-03-29T01:40:44 PID[1952]错误端点=sb://[发布前已删除].servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=[过帐前已删除]

  • 应用:2015-03-29T01:41:48 PID[1952]插座错误 由于对套接字的异步发送失败,连接被中止 未在分配的00:00:59.5586593超时内完成。这个 分配给此操作的时间可能是更长时间的一部分 超时

更新2

使用Azure存储API或SQL server时不存在连接问题

更新3


网站实例和服务总线名称空间都是在北欧地区创建的。

我也无法获取队列的连接字符串(在Azure UI中可用),但我发现在使用Powershell命令时

Get-AzureSBNamespace -Name $servicebusNamespace

为了获得连接字符串,它提供了一个完全不同的连接字符串,它实际上可以工作。因此,现在我使用以下代码来配置所有服务总线队列:

那么,当您到达传递connectionString参数的点时,变量holding将填充您上面描述的内容?你能分享一下吗:1)你把连接字符串存放在哪里?2) 如何读取它并将其分配给该变量?以及如何初始化namespaceManager?是的,在传递连接字符串参数时,该变量保存了正确的连接字符串,这在我的主要帖子中已经提到过。1.我正在web.config中存储一个连接字符串,2)我正在使用CloudConnectionManager获取它。var manager=namespacemager.CreateFromConnectionString(connectionString);如果(!manager.QueueExists(“Points”){//removed}//此时没有异常。我真的看不到任何奇怪的东西。您能否使用提供的示例->进行测试,看看这是否有效(创建一个新名称空间等)。至少我们可以缩小范围,如果它是一个代码问题或名称空间的SB问题。