该操作未在分配的超时00:01:00

时间:2016-07-29 07:38:50

标签: c# azure asp.net-web-api azureservicebus azure-servicebus-topics

我正在使用代码段将消息发送到服务总线主题。

        try
        {
            // sb is instance of ServiceBusConfig.GetServiceBusForChannel
            await sb.SendAsync(message);
        }
        catch (Exception ex)
        {
            this.logger.LogError(
                "chanel",
                "An error occurred while sending a notification: " + ex.Message,
                ex);
            throw;
        }

并且实施

    public async Task SendAsync(BrokeredMessage message)
    {
        if (this.topicClient == null)
        {
            this.topicClient = TopicClient.CreateFromConnectionString(this.primaryConnectionString, this.topicPath);
            this.topicClient.RetryPolicy = this.retryPolicy;
        }

        await this.topicClient.SendAsync(message);
    }

错误: -

  

“ErrorCode,12005,Message,”“发送时出错   通知:操作未在分配范围内完成   超时00:01:00分配给此操作的时间可能有   是超时的一部分。有关异常的更多信息   类型和适当的异常处理,   例外,“”Microsoft.ServiceBus.Messaging.MessagingException:The   操作未在分配的超时00:01:00内完成。   分配给此操作的时间可能是a的一部分   更长的超时。

有关异常类型和正确异常处理的更多信息

1 个答案:

答案 0 :(得分:2)

偶尔会发生这种情况。 Azure可以随时改变和转移他们的底层硬件。这些错误时不时会出现。只要你有适当的适当的重试逻辑,消息最终会通过......