我有一个 Azure 服务总线主题订阅,其中消息不断增加。
下面的代码基本上是一次接收一条消息并处理它并将相关结果存储到数据库中。
我尝试设置 MaxConcurrentCalls to 10
,但由于数据库工作设计,它耗尽了我的数据库连接池。
所以我想一次从订阅中获取 10 条消息(接收一批 N 条消息)并希望使用一个数据库调用进行处理。
我没有看到任何批处理 api 选项,这可能吗?
我正在使用Microsoft.Azure.ServiceBus
nuget 版本4.1.1
。
_subscriptionClient = new SubscriptionClient(connectionString, topicName, subscriptionName);
// Register the callback method that will be invoked a message of interest is received
_subscriptionClient.RegisterMessageHandler(
async (message, token) =>
{
if (await ProcessMessage(message, token))
{
await _subscriptionClient.CompleteAsync(message.SystemProperties.LockToken);
}
},
new MessageHandlerOptions(ExceptionReceivedHandler) { MaxConcurrentCalls = 1, AutoComplete = false });