Я пытаюсь настроить MassTransit для работы с автоматным конечным автоматом с использованием служебной шины Azure, и я не вижу рабочих примеров того, как это сделать. Ранее мы использовали RabbitMQ, который мы настроили, используя следующий код. Я поменял местами использование служебной шины Azure вместо операции .CreateUsingRabbitMq (), но, похоже, произошла некоторая неверная конфигурация. Официальная документация в этой области немного легкая.
- Операционная система: Windows 10 Pro
- Версия Visual Studio: 2017
- Версия Dotnet: 2.2
У меня есть очередь с именем SomeQueue, созданная в служебной шине Azure
У меня есть StateSage cs.proj, который отвечает за обработку саговых рабочих процессов с использованием Automatonymous. В его конфигурации у меня есть следующее
var bus = Bus.Factory.CreateUsingAzureServiceBus(cfg =>
{
var host = cfg.Host(
new Uri(AzureServiceBusConfigurationSettings.Uri),
h =>
{
h.SharedAccessSignature(s =>
{
s.KeyName = AzureServiceBusConfigurationSettings.KeyName;
s.SharedAccessKey = AzureServiceBusConfigurationSettings.ShareAccessKey;
s.TokenTimeToLive = TimeSpan.FromDays(1);
s.TokenScope = TokenScope.Namespace;
});
});
cfg.UseSerilog();
cfg.ReceiveEndpoint(
host,
"order_saga",
e =>
{
e.UseInMemoryOutbox();
e.StateMachineSaga(someStateMachine, repository);
});
});
bus.Start();
Теперь я знаю, что константа AzureServiceBusConfigurationSettings.Uri работает правильно, потому что я помещаю сообщения в очередь в служебной шине Azure через другой проект, который действует как WebApi и получает некоторые данные, отправляя его на служебную шину.
Кто-нибудь пробовал это делать или у вас есть опыт работы с Automatonymous?