Коллекция служб ITurnContext отсутствует в Microsoft bot Builder 4.2.2

#botframework

#botframework

Вопрос:

Я пытаюсь добавить некоторый код промежуточного программного обеспечения к боту, который я создаю с помощью Microsoft bot framework версии 4.2.2.

Я вижу, что в предыдущих версиях builder вы могли добавлять службы в коллекцию служб в свойстве «Services» ITurnContext, однако его больше нет, и я не могу найти никакой документации, описывающей удаление.

 public async Task OnTurn(ITurnContext context, MiddlewareSet.NextDelegate next)
{
    // some middleware method in bot builder 4.0
    context.Services.Add(SOME_KEY, someTService);
    await next();
}
  

Я хотел бы сделать то же самое со своим ботом, поэтому, если кто-нибудь знает, куда это могло привести, я был бы очень признателен за информацию!

Спасибо

Ник

Ответ №1:

Она была перемещена в свойство с именем TurnState;

https://learn.microsoft.com/en-us/dotnet/api/microsoft.bot.builder.turncontext.turnstate

Таким образом, код будет выглядеть следующим образом;

 public async Task OnTurn(ITurnContext context, MiddlewareSet.NextDelegate next,  CancellationToken cancellationToken = new CancellationToken())
{
    // some middleware method in bot builder 4.2.2
    context.TurnState.Add(SOME_KEY, someTService);
    await next();
}