You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using Telegram.Bot.Examples.Polling as a mechanism for my bot.
I'm trying to have a service class that is a dependency of UpdateHandler class the following way: The service should be constructed per each update handling (UpdateHandler call)
My initial attempt was to register that service as a scoped service but I found out that my scoped services live across multiple updates.
I'm looking at PollingServiceBase class and see that a scope is being created there:
// Create new IServiceScope on each iteration.// This way we can leverage benefits of Scoped TReceiverService// and typed HttpClient - we'll grab "fresh" instance each timeusingvarscope= _serviceProvider.CreateScope();varreceiver= scope.ServiceProvider.GetRequiredService<TReceiverService>();await receiver.ReceiveAsync(stoppingToken);
My question is:
What does the scope span in PollingServiceBase.DoWork method?
The call of receiver.ReceiveAsync(stoppingToken) never completes: Internally it calls ITelegramBotClient.ReceiveAsync extension method
which in its turn calls DefaultUpdateReceiver.ReceiveAsync which internally is implemented using while (!cancellationToken.IsCancellationRequested) loop.
The text was updated successfully, but these errors were encountered:
Hi Guys!
I'm using Telegram.Bot.Examples.Polling as a mechanism for my bot.
I'm trying to have a service class that is a dependency of UpdateHandler class the following way: The service should be constructed per each update handling (UpdateHandler call)
My initial attempt was to register that service as a scoped service but I found out that my scoped services live across multiple updates.
I'm looking at PollingServiceBase class and see that a scope is being created there:
My question is:
What does the scope span in PollingServiceBase.DoWork method?
The call of receiver.ReceiveAsync(stoppingToken) never completes: Internally it calls ITelegramBotClient.ReceiveAsync extension method
which in its turn calls DefaultUpdateReceiver.ReceiveAsync which internally is implemented using while (!cancellationToken.IsCancellationRequested) loop.
The text was updated successfully, but these errors were encountered: