Код: Выделить всё
public void ReceiveMessages(string queueName, string namespaceConnectionString, string appInsightInstrumentationKey, string domainUrl, SecretClient client)
Код: Выделить всё
var clientOptions = new ServiceBusClientOptions()
{
TransportType = ServiceBusTransportType.AmqpWebSockets,
};
var serviceBusClient = new ServiceBusClient(namespaceConnectionString, clientOptions);
var adminClient = new ServiceBusAdministrationClient(namespaceConnectionString);
var processorOptions = new ServiceBusProcessorOptions
{
AutoCompleteMessages = false,
MaxAutoLockRenewalDuration = TimeSpan.FromHours(1)
};
var serviceBusProcessor = serviceBusClient.CreateProcessor(queueName, new ServiceBusProcessorOptions());
_serviceBusProcessor = serviceBusProcessor;
var handlerParams = new MessageHandlerParameter
{
AppInsightInstrumentationKey = appInsightInstrumentationKey,
DomainUrl = domainUrl,
Client = client
};
try
{
// Add handler to process messages;
serviceBusProcessor.ProcessMessageAsync += (args) => MessageHandlerAsync(args, handlerParams);
// Add handler to process any errors;
serviceBusProcessor.ProcessErrorAsync += ErrorHandlerAsync;
serviceBusProcessor.StartProcessingAsync();
Console.WriteLine("Wait sometime for processing to start");
Task.Delay(Timeout.InfiniteTimeSpan);
}
catch (Exception ex)
{
}
finally
{
_ = serviceBusProcessor.DisposeAsync();
_ = serviceBusClient.DisposeAsync();
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... the-projec