Я написал бота, используя Microsoft Framework v4 SDK в C #.Бот развернут в Azure и подключен к веб-чату, прямой линии и каналам Facebook Messenger.Бот отлично работает для всех.
Пользователи могут подписаться на получение обновлений заблаговременно.Для этого я использую сохраненный ConversationReference, который затем используется для отправки проактивных сообщений.Опять же, все это прекрасно работает за исключением того, что бот wepApp перезапускается , что приводит к: -
Exception caught : Microsoft.Bot.Schema.ErrorResponseException: Operation returned an invalid status code 'Unauthorized' for the facebook channel.
Если я отправлю другое сообщение боту из мессенджера Facebook, тогда активные сообщения снова начнут работатьдаже для старых сохраненных ConversationReferences.
Первоначально я использовал MemoryStorage в соответствии с примерами, но я изменил его, чтобы использовать хранилище BLOB-объектов Azure для dialogState и userState.Это не имеет значения.Это как если бы он хранил токен авторизации facebook в памяти, поэтому, если приложение перезапускает токен, он теряется до тех пор, пока пользователь не отправит другое сообщение из мессенджера.
Есть ли способ исправить это, так как он подписываетсяПроактивные обновления бессмысленны, если он не может обработать перезапуск бота webApp?
Большое спасибо