POST для бота истек через 15 секунд - PullRequest
0 голосов
/ 16 октября 2019

Иногда я получаю сообщение об ошибке тайм-аута от своего бота. Получение тайм-аута для самого первого ответа.

Можно ли увеличить этот интервал в 15 секунд?

Кроме того, есть ли возможность пропустить этот тайм-аут?

ИсключениеТип: Microsoft.Bot.Schema.BotTimeoutException
Неудачный метод: Microsoft.Bot.ChannelConnector.BotAPI + d__31.MoveNext

Это бот, использующий C # и прямой канал.

Пожалуйста, дайте мне знатьесли вам нужна любая другая информация

Ответы [ 2 ]

1 голос
/ 22 октября 2019

Это проблема в Bot Framework, тайм-аут соединения с прямой линией через 15 секунд, и в настоящее время нет способа его подавить, проверьте следующий поток.

https://github.com/microsoft/botframework-sdk/issues/3220

этот тип принуждения, чтобы сделать бота более активным и заставить делать более быстрых ботов.

то же самое относится к потоку Google Dialog, время ожидания которого составляет 5 секунд, и Alexa Skill, время ожидания которого составляет 8 секунд, поэтому 15 секунд для Bot Frameworkщедрый: P

0 голосов
/ 16 октября 2019

Вы должны справиться с этим с периодическим refresh token

 var credentials = new MicrosoftAppCredentials(appID, appPassword);
        Task.Factory.StartNew(async () => 
        {
            while (!_getTokenAsyncCancellation.IsCancellationRequested)
            {
                try{
                    var token = await credentials.GetTokenAsync().ConfigureAwait(false);
                }
                catch(MicrosoftAppCredentials.OAuthException ex)
                {
                    Trace.TraceError(ex.message);
                }
                await Task.Delay(TimeSpan.FromMinutes(30), _getTokenAsyncCancellation.Token).ConfigureAwait(false);
            }
        }).ConfigureAwait(false);
...