В настоящее время я работаю над проектом, который зависит от .net 4.5, поэтому я вынужден использовать Microsoft.Servicebus - и, следовательно, фабрику сообщений
Создание объекта фактора сообщения, похоже, не проблема, но, похоже, проблема заключается в создании отправителя сообщения.
Я не уверен, каков путь объекта для моей очереди сообщений Azure, и не знаю, как мне его искать?
Я инициализировал свою фабрику сообщений как таковую;
public Microsoft.ServiceBus.Messaging.MessagingFactory client = Microsoft.ServiceBus.Messaging.MessagingFactory.CreateFromConnectionString(ServiceBusConnectString);
Где servicebusconnectionstring, это основная строка conenctionstring, извлеченная из очереди Azure, или с помощью следующего руководства: https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-dotnet-get-started-with-queues#1-create-a-namespace-using-the-azure-portal
Отправитель сообщения создается следующим образом:
Microsoft.ServiceBus.Messaging.MessageSender sender = client.CreateMessageSender(destinationQueue,queueName);
Снова destionationQueue и queueName являются строками, которые определены из лазурного?
Сообщение, которое должно быть отправлено, создается следующим образом:
Microsoft.ServiceBus.Messaging.BrokeredMessage message = new Microsoft.ServiceBus.Messaging.BrokeredMessage(e.ToXml());
e
- это просто объект, который имеет функцию publich, которая может преобразовать его в строку XML.
Вот куда я отправляю сообщение:
try
{
IntegrationLogger.Write(LogLevel.Verbose, "Sending message to azure");
sender.Send(message);
}
catch(System.Exception ex)
{
if(ex is System.TimeoutException)
{
IntegrationLogger.Write(LogLevel.Error, "Timeout exeption");
}
if (ex is System.ArgumentException)
{
IntegrationLogger.Write(LogLevel.Error, "Message is empty");
}
}
IntegrationLogger
- это функция журнала, которую я использую, а последнее регистрируемое сообщение - «Отправка сообщения в лазурь», что означает, что somethng идетнеправильно, когда я отправляю это.даже catch не перехватывает исключение? ..
В чем здесь проблема?
Неправильно ли я использую отправителя?