我有一个连接到服务总线队列的Azure App Service API。一切正常运行了一段时间,但后来我开始出现以下错误:
System.AggregateException: One or more errors occurred. (Unknown error (0xffffffff) ErrorCode: SocketError) ---> Microsoft.Azure.ServiceBus.ServiceBusCommunicationException: Unknown error (0xffffffff) ErrorCode: SocketError ---> System.Net.Sockets.SocketException: Unknown error (0xffffffff)
at Microsoft.Azure.ServiceBus.ServiceBusConnection.CreateConnectionAsync(TimeSpan timeout)
at Microsoft.Azure.Amqp.FaultTolerantAmqpObject`1.OnCreateAsync(TimeSpan timeout)
at Microsoft.Azure.Amqp.Singleton`1.GetOrCreateAsync(TimeSpan timeout)
at Microsoft.Azure.Amqp.Singleton`1.GetOrCreateAsync(TimeSpan timeout)
at Microsoft.Azure.ServiceBus.Amqp.AmqpLinkCreator.CreateAndOpenAmqpLinkAsync()
at Microsoft.Azure.ServiceBus.Core.MessageSender.CreateLinkAsync(TimeSpan timeout)
at Microsoft.Azure.Amqp.FaultTolerantAmqpObject`1.OnCreateAsync(TimeSpan timeout)
at Microsoft.Azure.Amqp.Singleton`1.GetOrCreateAsync(TimeSpan timeout)
at Microsoft.Azure.Amqp.Singleton`1.GetOrCreateAsync(TimeSpan timeout)
at Microsoft.Azure.ServiceBus.Core.MessageSender.OnSendAsync(IList`1 messageList)
--- End of inner exception stack trace ---
at Microsoft.Azure.ServiceBus.Core.MessageSender.OnSendAsync(IList`1 messageList)
at Microsoft.Azure.ServiceBus.RetryPolicy.RunOperation(Func`1 operation, TimeSpan operationTimeout)
at Microsoft.Azure.ServiceBus.RetryPolicy.RunOperation(Func`1 operation, TimeSpan operationTimeout)
at Microsoft.Azure.ServiceBus.Core.MessageSender.SendAsync(IList`1 messageList)
public async Task SendAsync(string message)
{
var queueMessage = new Message(Encoding.ASCII.GetBytes(message));
var queueClient = GetQueueClient("myqueue");
await queueClient.SendAsync(queueMessage);
}
public IQueueClient CreateQueueClient(string queueName)
{
var messageBusSection = _configuration
.GetSection("AppSettings:MessageBus");
var connectionString = messageBusSection["ConnectionString"];
var path = messageBusSection.GetSection("Queues")[queueName];
return new QueueClient(connectionString, path);
}
我认为这不是超出配额的问题,也没有说超时。关于如何调试它的任何想法吗?
答案 0 :(得分:0)
注意:这不一定能解决您的问题(因为错误的描述性不是很高)。
使用ASB消息传递的最佳实践之一是reuse factories and clients:
建议您不要关闭消息传递工厂或排队, 主题和订阅客户端发送消息后,然后 在发送下一条消息时重新创建它们。
您可能会遇到某种连接节流问题,可以通过重用QueueClient
来解决问题,而不是在每次发送消息时都重新创建它。
答案 1 :(得分:0)
昨天我才刚开始收到很多这样的东西:
Microsoft.ServiceBus:未知错误(0xffffffff)
和
无法连接到net.tcp://some-namespace.servicebus.windows.net:9354 /。连接尝试持续时间为00:00:00。 TCP错误代码-1:未知错误(0xffffffff)。
如您所见,连接尝试直接失败。
已经工作了好几个月了,然后变得很糟糕。...我想微软又做了点什么。他们的Azure状态面板全是绿色的,但是我的功能失败率为60%。