При преобразовании моего проекта из. Net framework 4.7 в. Net core 2.1 я столкнулся с проблемой с Servicebus MessagingFactory
. Я не вижу MessagingFactory
класса в новом пакете nuget Microsoft.Azure.ServiceBus
для. Net core.
My. Net framework 4.7 Код
private static readonly string messagingConnectionString = Environment.GetEnvironmentVariable("ServiceBusConnection");
private static Lazy<MessagingFactory> lazyMessagingFactory = new Lazy<MessagingFactory>(() =>
{
return MessagingFactory.CreateFromConnectionString(messagingConnectionString);
});
public static MessagingFactory MessagingFactory
{
get
{
return lazyMessagingFactory.Value;
}
}
public static MessagingFactory EventHubMessageFactory
{
get
{
return lazyEventhubMessagingFactory.Value;
}
}
public async Task SendMessageToQueueAsync(string queueName, string message)
{
QueueClient queueClient = MessagingFactory.CreateQueueClient(queueName);
BrokeredMessage brokeredMessage = new BrokeredMessage(new MemoryStream(Encoding.UTF8.GetBytes(message)), true);
await queueClient.SendAsync(brokeredMessage);
}
Это был передовой опыт для высокопроизводительных приложений. Кроме того, у меня есть много очередей в пространстве имен единой служебной шины, и я получаю сообщение sh в зависимости от конфигурации. Я не хочу создавать QueueClient
объект в каждом запросе и не хочу поддерживать строку подключения для каждой очереди.
Что является альтернативой MessagingFactory
in. Net Core?