Exceções de mensagens do Barramento de ServiçoService Bus messaging exceptions

Este artigo lista as exceções .NET geradas por .NET Framework APIs.This article lists the .NET exceptions generated by .NET Framework APIs.

Categorias de exceçõesException categories

As APIs de mensagens geram exceções que podem se enquadrar nas categorias a seguir, junto com a ação associada que pode ser tomada para tentar corrigi-las.The messaging APIs generate exceptions that can fall into the following categories, along with the associated action you can take to try to fix them. O significado e as causas de uma exceção podem variar dependendo do tipo de entidade de mensagens:The meaning and causes of an exception can vary depending on the type of messaging entity:

  1. Erro de codificação do usuário (System. ArgumentException, System. InvalidOperationException, System. OperationCanceledException, System. Runtime. Serialization. serializaexception).User coding error (System.ArgumentException, System.InvalidOperationException, System.OperationCanceledException, System.Runtime.Serialization.SerializationException). Ação geral: tentar corrigir o código antes de prosseguir.General action: try to fix the code before proceeding.
  2. Erro de instalação/configuração (Microsoft. ServiceBus. Messaging. MessagingEntityNotFoundException, System. UnauthorizedAccessException.Setup/configuration error (Microsoft.ServiceBus.Messaging.MessagingEntityNotFoundException, System.UnauthorizedAccessException. Ação geral: examinar sua configuração e alterá-la, se necessário.General action: review your configuration and change if necessary.
  3. Exceções transitórias (Microsoft. ServiceBus. Messaging. MessagingException, Microsoft. ServiceBus. Messaging. ServerBusyException, Microsoft. ServiceBus. Messaging. MessagingCommunicationException).Transient exceptions (Microsoft.ServiceBus.Messaging.MessagingException, Microsoft.ServiceBus.Messaging.ServerBusyException, Microsoft.ServiceBus.Messaging.MessagingCommunicationException). Ação geral: repetir a operação ou notificar os usuários.General action: retry the operation or notify users. A RetryPolicy classe no SDK do cliente pode ser configurada para tratar repetições automaticamente.The RetryPolicy class in the client SDK can be configured to handle retries automatically. Para obter mais informações, consulte diretrizes de repetição.For more information, see Retry guidance.
  4. Outras exceções (System.Transactions.TransactionException, System.TimeoutException, Microsoft.ServiceBus.Messaging.MessageLockLostException, Microsoft.ServiceBus.Messaging.SessionLockLostException).Other exceptions (System.Transactions.TransactionException, System.TimeoutException, Microsoft.ServiceBus.Messaging.MessageLockLostException, Microsoft.ServiceBus.Messaging.SessionLockLostException). Ação geral: específica para o tipo de exceção; consulte a tabela na seção a seguir:General action: specific to the exception type; refer to the table in the following section:

Tipos de exceçãoException types

A tabela a seguir relaciona os tipos de mensagens de exceção e suas causas e aponta a ação sugerida que você pode tomar.The following table lists messaging exception types, and their causes, and notes suggested action you can take.

Tipo de exceçãoException Type Descrição/Causa/ExemplosDescription/Cause/Examples Ação sugeridaSuggested Action Observação sobre repetição automática/imediataNote on automatic/immediate retry
TimeoutExceptionTimeoutException O servidor não respondeu à operação solicitada dentro do tempo especificado, que é controlado por OperationTimeout.The server didn't respond to the requested operation within the specified time, which is controlled by OperationTimeout. O servidor pode ter concluído a operação solicitada.The server may have completed the requested operation. Isso pode acontecer devido à rede ou a outros atrasos de infraestrutura.It can happen because of network or other infrastructure delays. Verifique o estado do sistema para manter a consistência e tente novamente, se necessário.Check the system state for consistency and retry if necessary. Confira TimeoutException.See Timeout exceptions. Uma nova tentativa pode ajudar em alguns casos; Adicione lógica de repetição ao código.Retry might help in some cases; add retry logic to code.
InvalidOperationExceptionInvalidOperationException A operação de usuário solicitada não é permitida no servidor ou serviço.The requested user operation isn't allowed within the server or service. Consulte a mensagem de exceção para obter detalhes.See the exception message for details. Por exemplo, Complete () gera essa exceção se a mensagem foi recebida no modo ReceiveAndDelete .For example, Complete() generates this exception if the message was received in ReceiveAndDelete mode. Verifique o código e a documentação.Check the code and the documentation. Verifique se a operação solicitada é válida.Make sure the requested operation is valid. A repetição não ajuda.Retry doesn't help.
OperationCanceledExceptionOperationCanceledException É feita uma tentativa de invocar uma operação em um objeto que já foi fechado, anulado ou descartado.An attempt is made to invoke an operation on an object that has already been closed, aborted, or disposed. Em casos raros, a transação de ambiente já foi descartada.In rare cases, the ambient transaction is already disposed. Verifique o código e certifique-se de que ele não invoque operações em um objeto Descartado.Check the code and make sure it doesn't invoke operations on a disposed object. A repetição não ajuda.Retry doesn't help.
UnauthorizedAccessExceptionUnauthorizedAccessException O objeto TokenProvider não pôde adquirir um token, o token é inválido ou o token não contém as declarações necessárias para realizar a operação.The TokenProvider object couldn't acquire a token, the token is invalid, or the token doesn't contain the claims required to do the operation. Verifique se o provedor de token for criado com os valores corretos.Make sure the token provider is created with the correct values. Verifique a configuração do serviço de controle de acesso.Check the configuration of the Access Control Service. Uma nova tentativa pode ajudar em alguns casos; Adicione lógica de repetição ao código.Retry might help in some cases; add retry logic to code.
ArgumentExceptionArgumentException
ArgumentNullExceptionArgumentNullException
ArgumentOutOfRangeExceptionArgumentOutOfRangeException
Um ou mais argumentos fornecidos para o método são inválidos.One or more arguments supplied to the method are invalid.
O URI fornecido para NamespaceManager ou Create contém segmento(s) de caminho.The URI supplied to NamespaceManager or Create contains path segment(s).
O esquema de URI fornecido para NamespaceManager ou Criar é inválido.The URI scheme supplied to NamespaceManager or Create is invalid.
O valor da propriedade é maior do que 32 KB.The property value is larger than 32 KB.
Verifique o código de chamada e certifique-se de que os argumentos estão corretos.Check the calling code and make sure the arguments are correct. A repetição não ajuda.Retry doesn't help.
MessagingEntityNotFoundExceptionMessagingEntityNotFoundException A entidade associada à operação não existe ou foi excluída.Entity associated with the operation doesn't exist or it has been deleted. Certifique-se de que a entidade existe.Make sure the entity exists. A repetição não ajuda.Retry doesn't help.
MessageNotFoundExceptionMessageNotFoundException Tentativa para receber uma mensagem com um número de sequência específico.Attempt to receive a message with a particular sequence number. Esta mensagem não foi encontrada.This message isn't found. Certifique-se de que a mensagem ainda não tenha sido recebida.Make sure the message hasn't been received already. Verifique a fila de mensagens mortas para ver se a mensagem foi colocada ali.Check the deadletter queue to see if the message has been deadlettered. A repetição não ajuda.Retry doesn't help.
MessagingCommunicationExceptionMessagingCommunicationException O cliente não é capaz de estabelecer uma conexão com o barramento de serviço.Client isn't able to establish a connection to Service Bus. Verifique se o nome de host fornecido está correto e se o host está acessível.Make sure the supplied host name is correct and the host is reachable.

Se o seu código for executado em um ambiente com um firewall/proxy, verifique se o tráfego para o endereço IP/domínio do barramento de serviço e as portas não está bloqueado.If your code runs in an environment with a firewall/proxy, ensure that the traffic to the Service Bus domain/IP address and ports isn't blocked.

Tentar novamente poderá ajudar se houver problemas intermitentes de conectividade.Retry might help if there are intermittent connectivity issues.
ServerBusyExceptionServerBusyException O serviço não é capaz de processar a solicitação no momento.Service isn't able to process the request at this time. O cliente pode esperar um período de tempo e repetir a operação.Client can wait for a period of time, then retry the operation. O cliente pode tentar novamente após um intervalo determinado.Client may retry after certain interval. Se uma nova tentativa resultar em uma exceção diferente, verifique o comportamento de repetição de tal exceção.If a retry results in a different exception, check retry behavior of that exception.
MessagingExceptionMessagingException A exceção de mensagens genéricas pode ser lançada nos seguintes casos:Generic messaging exception that may be thrown in the following cases:

Uma tentativa é feita para criar um QueueClient usando um nome ou caminho que pertence a um tipo de entidade diferente (por exemplo, um tópico).An attempt is made to create a QueueClient using a name or path that belongs to a different entity type (for example, a topic).

A tentativa de TAn é feita para enviar uma mensagem maior que 256 KB.An attempt is made to send a message larger than 256 KB.

O servidor ou o serviço encontrou um erro durante o processamento da solicitação.The server or service encountered an error during processing of the request. Consulte a mensagem de exceção para obter detalhes.See the exception message for details. Geralmente é uma exceção transitória.It's usually a transient exception.

A solicitação foi encerrada porque a entidade está sendo limitada.The request was terminated because the entity is being throttled. Código de erro: 50001, 50002, 50008.Error code: 50001, 50002, 50008.

Verifique o código e certifique-se de que somente objetos serializáveis sejam usados para o corpo da mensagem (ou use um serializador personalizado).Check the code and ensure that only serializable objects are used for the message body (or use a custom serializer).

Verifique a documentação para os tipos de valor com suporte das propriedades e somente os tipos de uso com suporte.Check the documentation for the supported value types of the properties and only use supported types.

Verifique a propriedade IsTransient .Check the IsTransient property. Se for true, você poderá repetir a operação.If it's true, you can retry the operation.

Se a exceção for devido à limitação, aguarde alguns segundos e repita a operação.If the exception is due to throttling, wait for a few seconds and retry the operation again. O comportamento de repetição é indefinido e pode não ajudar em outros cenários.Retry behavior is undefined and might not help in other scenarios.
MessagingEntityAlreadyExistsExceptionMessagingEntityAlreadyExistsException Tentativa de criar uma entidade com um nome que já está sendo usado por outra entidade no namespace de serviço.Attempt to create an entity with a name that is already used by another entity in that service namespace. Exclua a entidade existente ou escolha um nome diferente para a entidade a ser criada.Delete the existing entity or choose a different name for the entity to be created. A repetição não ajuda.Retry doesn't help.
QuotaExceededExceptionQuotaExceededException A entidade de mensagens atingiu o tamanho máximo permitido ou o número máximo de conexões com um namespace foi excedido.The messaging entity has reached its maximum allowable size, or the maximum number of connections to a namespace has been exceeded. Crie espaço na entidade ao receber mensagens da entidade ou de suas subfilas.Create space in the entity by receiving messages from the entity or its subqueues. Confira QuotaExceededException.See QuotaExceededException. Tentar novamente pode ajudar se as mensagens foram removidas nesse meio tempo.Retry might help if messages have been removed in the meantime.
RuleActionExceptionRuleActionException O Barramento de Serviço retorna essa exceção se você tentar criar uma ação de regra inválida.Service Bus returns this exception if you attempt to create an invalid rule action. Barramento de Serviço anexa essa exceção a uma mensagem morta se ocorrer um erro ao processar a ação de regra para a mensagem.Service Bus attaches this exception to a deadlettered message if an error occurs while processing the rule action for that message. Verifique se a ação da regra está correta.Check the rule action for correctness. A repetição não ajuda.Retry doesn't help.
FilterExceptionFilterException O Barramento de Serviço retorna essa exceção se você tentar criar um filtro inválido.Service Bus returns this exception if you attempt to create an invalid filter. O Barramento de Serviço anexa essa exceção a uma mensagem morta se ocorreu um erro ao processar o filtro para a mensagem.Service Bus attaches this exception to a deadlettered message if an error occurred while processing the filter for that message. Verifique se o filtro está correto.Check the filter for correctness. A repetição não ajuda.Retry doesn't help.
SessionCannotBeLockedExceptionSessionCannotBeLockedException Tentativa de aceitar uma sessão com uma ID de sessão específica, mas a sessão está atualmente bloqueada por outro cliente.Attempt to accept a session with a specific session ID, but the session is currently locked by another client. Verifique se a sessão foi desbloqueada por outros clientes.Make sure the session is unlocked by other clients. Tentar novamente pode ajudar se a sessão foi liberada nesse meio tempo.Retry might help if the session has been released in the interim.
TransactionSizeExceededExceptionTransactionSizeExceededException Muitas operações fazem parte da transação.Too many operations are part of the transaction. Reduza o número de operações que fazem parte dessa transação.Reduce the number of operations that are part of this transaction. A repetição não ajuda.Retry doesn't help.
MessagingEntityDisabledExceptionMessagingEntityDisabledException Solicitação para uma operação de runtime em uma entidade desabilitada.Request for a runtime operation on a disabled entity. Ativar a entidade.Activate the entity. Tentar novamente poderá ajudar se a entidade tiver sido ativada durante o processo.Retry might help if the entity has been activated in the interim.
NoMatchingSubscriptionExceptionNoMatchingSubscriptionException O Barramento de Serviço retornará essa exceção se você enviar uma mensagem para um tópico que tem a pré-filtragem habilitada e se nenhum dos filtros for compatível.Service Bus returns this exception if you send a message to a topic that has pre-filtering enabled and none of the filters match. Verifique se pelo menos um filtro é compatível.Make sure at least one filter matches. A repetição não ajuda.Retry doesn't help.
MessageSizeExceededExceptionMessageSizeExceededException O conteúdo de uma mensagem excede o limite de 256 KB.A message payload exceeds the 256-KB limit. O limite de 256 KB é o tamanho total da mensagem, que pode incluir propriedades do sistema e qualquer sobrecarga do .NET.The 256-KB limit is the total message size, which can include system properties and any .NET overhead. Reduza o tamanho da carga de mensagem e repita a operação.Reduce the size of the message payload, then retry the operation. A repetição não ajuda.Retry doesn't help.
TransactionExceptionTransactionException A transação de ambiente (Transaction.Current) é inválida.The ambient transaction (Transaction.Current) is invalid. Ela pode ter sido concluída ou anulada.It may have been completed or aborted. A exceção interna pode fornecer informações adicionais.Inner exception may provide additional information. A repetição não ajuda.Retry doesn't help.
TransactionInDoubtExceptionTransactionInDoubtException Uma operação é tentada em uma transação incerta, ou uma tentativa é feita para confirmar a transação e ela se torna incerta.An operation is attempted on a transaction that is in doubt, or an attempt is made to commit the transaction and the transaction becomes in doubt. Seu aplicativo deve tratar essa exceção (como um caso especial), visto que a transação pode já ter sido confirmada.Your application must handle this exception (as a special case), as the transaction may have already been committed. -

QuotaExceededExceptionQuotaExceededException

QuotaExceededException indica que uma cota para uma entidade específica foi excedida.QuotaExceededException indicates that a quota for a specific entity has been exceeded.

Filas e tópicosQueues and topics

Para filas e tópicos, geralmente é o tamanho da fila.For queues and topics, it's often the size of the queue. A propriedade de mensagem de erro contém mais detalhes, como no exemplo a seguir:The error message property contains further details, as in the following example:

Microsoft.ServiceBus.Messaging.QuotaExceededException
Message: The maximum entity size has been reached or exceeded for Topic: 'xxx-xxx-xxx'. 
    Size of entity in bytes:1073742326, Max entity size in bytes:
1073741824..TrackingId:xxxxxxxxxxxxxxxxxxxxxxxxxx, TimeStamp:3/15/2013 7:50:18 AM

A mensagem informa que o tópico excedeu seu limite de tamanho, neste caso 1 GB (o limite de tamanho padrão).The message states that the topic exceeded its size limit, in this case 1 GB (the default size limit).

NamespacesNamespaces

Para namespaces, QuotaExceededException pode indicar que um aplicativo excedeu o número máximo de conexões com um namespace.For namespaces, QuotaExceededException can indicate that an application has exceeded the maximum number of connections to a namespace. Por exemplo:For example:

Microsoft.ServiceBus.Messaging.QuotaExceededException: ConnectionsQuotaExceeded for namespace xxx.
<tracking-id-guid>_G12 ---> 
System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: 
ConnectionsQuotaExceeded for namespace xxx.

Causas comunsCommon causes

Há duas causas comuns desse erro: a fila de mensagens mortas e os destinatários de mensagem não estão funcionando.There are two common causes for this error: the dead-letter queue, and non-functioning message receivers.

  1. Fila de mensagens mortas Um leitor está falhando em concluir mensagens e as mensagens são retornadas para a fila/tópico quando o bloqueio expira.Dead-letter queue A reader is failing to complete messages and the messages are returned to the queue/topic when the lock expires. Isso pode acontecer se o leitor encontrar uma exceção que impeça a chamada de BrokeredMessage. Complete.It can happen if the reader encounters an exception that prevents it from calling BrokeredMessage.Complete. Depois que uma mensagem foi lida 10 vezes, ela é movida para a fila de mensagens mortas por padrão.After a message has been read 10 times, it moves to the dead-letter queue by default. Esse comportamento é controlado pela propriedade QueueDescription.MaxDeliveryCount e tem um valor padrão de 10.This behavior is controlled by the QueueDescription.MaxDeliveryCount property and has a default value of 10. Conforme as mensagens são acumuladas na fila de mensagens mortas, elas ocupam espaço.As messages pile up in the dead letter queue, they take up space.

    Para resolver o problema, leia e conclua as mensagens da fila de mensagens mortas, como faria em qualquer outra fila.To resolve the issue, read and complete the messages from the dead-letter queue, as you would from any other queue. Você pode usar o método FormatDeadLetterPath para ajudar a formatar o caminho da fila de mensagens mortas.You can use the FormatDeadLetterPath method to help format the dead-letter queue path.

  2. Receptor parado.Receiver stopped. Um receptor parou de receber mensagens de uma fila ou assinatura.A receiver has stopped receiving messages from a queue or subscription. A maneira de identificar isso é examinar a propriedade QueueDescription.MessageCountDetails , que mostra a análise completa das mensagens.The way to identify this is to look at the QueueDescription.MessageCountDetails property, which shows the full breakdown of the messages. Se a propriedade ActiveMessageCount for alta ou em crescimento, as mensagens não serão lidas tão rapidamente quanto estão sendo gravadas.If the ActiveMessageCount property is high or growing, then the messages aren't being read as fast as they are being written.

TimeoutExceptionTimeoutException

Um TimeoutException indica que uma operação iniciada pelo usuário está demorando mais do que o tempo limite da operação.A TimeoutException indicates that a user-initiated operation is taking longer than the operation timeout.

Você deve verificar o valor da propriedade ServicePointManager.DefaultConnectionLimit, pois atingir esse limite também pode causar um TimeoutException.You should check the value of the ServicePointManager.DefaultConnectionLimit property, as hitting this limit can also cause a TimeoutException.

Espera-se que os tempos limite ocorram durante ou entre operações de manutenção, como atualizações de serviço do barramento de serviço (ou) atualizações do sistema operacional em recursos que executam o serviço.Timeouts are expected to happen during or in-between maintenance operations such as Service Bus service updates (or) OS updates on resources that run the service. Durante as atualizações do sistema operacional, as entidades são movidas e os nós são atualizados ou reinicializados, o que pode causar tempos limite.During OS updates, entities are moved around and nodes are updated or rebooted, which can cause timeouts. Para obter detalhes de SLA (contrato de nível de serviço) para o serviço do barramento de serviço do Azure, consulte SLA para o barramento de serviço.For service level agreement (SLA) details for the Azure Service Bus service, see SLA for Service Bus.

Filas e tópicosQueues and topics

Para filas e tópicos, o tempo limite é especificado na propriedade MessagingFactorySettings.OperationTimeout, como parte da cadeia de conexão, ou por meio de ServiceBusConnectionStringBuilder.For queues and topics, the timeout is specified either in the MessagingFactorySettings.OperationTimeout property, as part of the connection string, or through ServiceBusConnectionStringBuilder. A mensagem de erro pode variar, mas ele sempre contém o valor de tempo limite especificado para a operação atual.The error message itself might vary, but it always contains the timeout value specified for the current operation.

MessageLockLostExceptionMessageLockLostException

CausaCause

O MessageLockLostException é gerado quando uma mensagem é recebida usando o modo de recebimento Peeklock e o bloqueio mantido pelo cliente expira no lado do serviço.The MessageLockLostException is thrown when a message is received using the PeekLock Receive mode and the lock held by the client expires on the service side.

O bloqueio em uma mensagem pode expirar devido a vários motivos-The lock on a message may expire due to various reasons -

  • O temporizador de bloqueio expirou antes de ser renovado pelo aplicativo cliente.The lock timer has expired before it was renewed by the client application.
  • O aplicativo cliente adquiriu o bloqueio, o salvou em um repositório persistente e, em seguida, reiniciado.The client application acquired the lock, saved it to a persistent store and then restarted. Após a reinicialização, o aplicativo cliente examinou as mensagens em andamento e tentou concluí-las.Once it restarted, the client application looked at the inflight messages and tried to complete these.

ResoluçãoResolution

No caso de um MessageLockLostException, o aplicativo cliente não pode mais processar a mensagem.In the event of a MessageLockLostException, the client application can no longer process the message. O aplicativo cliente pode, opcionalmente, considerar o registro em log da exceção para análise, mas o cliente deve descartar a mensagem.The client application may optionally consider logging the exception for analysis, but the client must dispose off the message.

Como o bloqueio na mensagem expirou, ele voltaria para a fila (ou assinatura) e pode ser processado pelo próximo aplicativo cliente que chama Receive.Since the lock on the message has expired, it would go back on the Queue (or Subscription) and can be processed by the next client application which calls receive.

Se o MaxDeliveryCount tiver excedido, a mensagem poderá ser movida para o DeadLetterQueue.If the MaxDeliveryCount has exceeded then the message may be moved to the DeadLetterQueue.

SessionLockLostExceptionSessionLockLostException

CausaCause

O SessionLockLostException é gerado quando uma sessão é aceita e o bloqueio mantido pelo cliente expira no lado do serviço.The SessionLockLostException is thrown when a session is accepted and the lock held by the client expires on the service side.

O bloqueio em uma sessão pode expirar devido a vários motivos-The lock on a session may expire due to various reasons -

  • O temporizador de bloqueio expirou antes de ser renovado pelo aplicativo cliente.The lock timer has expired before it was renewed by the client application.
  • O aplicativo cliente adquiriu o bloqueio, o salvou em um repositório persistente e, em seguida, reiniciado.The client application acquired the lock, saved it to a persistent store and then restarted. Depois de reiniciado, o aplicativo cliente examinou as sessões em andamento e tentou processar as mensagens nessas sessões.Once it restarted, the client application looked at the inflight sessions and tried to process the messages in those sessions.

ResoluçãoResolution

No caso de um SessionLockLostException, o aplicativo cliente não pode mais processar as mensagens na sessão.In the event of a SessionLockLostException, the client application can no longer process the messages on the session. O aplicativo cliente pode considerar registrar a exceção para análise, mas o cliente deve descartar a mensagem.The client application may consider logging the exception for analysis, but the client must dispose off the message.

Como o bloqueio na sessão expirou, ele voltaria para a fila (ou assinatura) e pode ser bloqueado pelo próximo aplicativo cliente que aceita a sessão.Since the lock on the session has expired, it would go back on the Queue (or Subscription) and can be locked by the next client application which accepts the session. Como o bloqueio de sessão é mantido por um único aplicativo cliente em um determinado momento, o processamento em ordem é garantido.Since the session lock is held by a single client application at any given time, the in-order processing is guaranteed.

SocketExceptionSocketException

CausaCause

Uma SocketException é lançada nos casos abaixo-A SocketException is thrown in the below cases -

  • Quando uma tentativa de conexão falha porque o host não respondeu corretamente após uma hora especificada (código de erro TCP 10060).When a connection attempt fails because the host did not properly respond after a specified time (TCP error code 10060).
  • Uma conexão estabelecida falhou porque o host conectado falhou ao responder.An established connection failed because connected host has failed to respond.
  • Ocorreu um erro ao processar a mensagem ou o tempo limite foi excedido pelo host remoto.There was an error processing the message or the timeout is exceeded by the remote host.
  • Problema de recurso de rede subjacente.Underlying network resource issue.

ResoluçãoResolution

Os erros SocketException indicam que a VM que hospeda os aplicativos não pode converter o nome <mynamespace>.servicebus.windows.net para o endereço IP correspondente.The SocketException errors indicate that the VM hosting the applications is unable to convert the name <mynamespace>.servicebus.windows.net to the corresponding IP address.

Verifique se o comando abaixo foi executado com sucesso no mapeamento para um endereço IP.Check to see if below command succeeds in mapping to an IP address.

PS C:\> nslookup <mynamespace>.servicebus.windows.net

que deve fornecer uma saída como abaixowhich should provide an output as below

Name:    <cloudappinstance>.cloudapp.net
Address:  XX.XX.XXX.240
Aliases:  <mynamespace>.servicebus.windows.net

Se o nome acima não resolver para um IP e o alias de namespace, verifique o administrador da rede para investigar mais detalhadamente.If the above name does not resolve to an IP and the namespace alias, check which the network administrator to investigate further. A resolução de nomes é feita por meio de um servidor DNS normalmente um recurso na rede do cliente.Name resolution is done through a DNS server typically a resource in the customer network. Se a resolução de DNS for feita pelo DNS do Azure, entre em contato com o suporte do Azure.If the DNS resolution is done by Azure DNS please contact Azure support.

Se a resolução de nomes funcionar conforme o esperado, verifique se as conexões com o barramento de serviço do Azure são permitidas aquiIf name resolution works as expected, check if connections to Azure Service Bus is allowed here

MessagingExceptionMessagingException

CausaCause

MessagingException é uma exceção genérica que pode ser lançada por vários motivos.MessagingException is a generic exception that may be thrown for various reasons. Alguns dos motivos estão listados abaixo.Some of the reasons are listed below.

  • É feita uma tentativa de criar um QueueClient em um tópico ou uma assinatura.An attempt is made to create a QueueClient on a Topic or a Subscription.
  • O tamanho da mensagem enviada é maior que o limite para a camada especificada.The size of the message sent is greater than the limit for the given tier. Leia mais sobre as cotas e limitesdo barramento de serviço.Read more about the Service Bus quotas and limits.
  • A solicitação do plano de dados específico (enviar, receber, concluir, abandonar) foi encerrada devido à limitação.Specific data plane request (send, receive, complete, abandon) was terminated due to throttling.
  • Problemas transitórios causados devido a atualizações e reinicializações de serviço.Transient issues caused due to service upgrades and restarts.

Observação

A lista de exceções acima não é exaustiva.The above list of exceptions is not exhaustive.

ResoluçãoResolution

As etapas de resolução dependem do que causou a geração de MessagingException .The resolution steps depend on what caused the MessagingException to be thrown.

  • Para problemas transitórios (em que *istransitória_ é definido como true) ou para problemas de limitação ***, repetir a operação pode resolvê-lo.For transient issues (where *isTransient is set to true) or for _* throttling issues**, retrying the operation may resolve it. A política de repetição padrão no SDK pode ser utilizada para isso.The default retry policy on the SDK can be leveraged for this.
  • Para outros problemas, os detalhes na exceção indicam que o problema e as etapas de resolução podem ser deduzidos do mesmo.For other issues, the details in the exception indicate the issue and resolution steps can be deduced from the same.

Próximas etapasNext steps

Para obter a referência completa da API do .NET de Barramento de Serviço, consulte a Referência de API do .NET do Azure.For the complete Service Bus .NET API reference, see the Azure .NET API reference. Para obter dicas de solução de problemas, consulte o Guia de solução de problemasFor troubleshooting tips, see the Troubleshooting guide