#c# #botframework #azure-bot-service
#c# #botframework #azure-bot-service
Вопрос:
Когда у меня есть два экземпляра бота (это могут быть два окна эмулятора или два браузера, если я развертываю бота в Azure), первое введенное имя является постоянным для всех остальных экземпляров.
Экземпляр один
Экземпляр два
Я бы ожидал, что бот снова спросит мое имя, неважно, сколько у меня экземпляров, бот всегда идентифицирует меня как Брунно. Как я могу изменить это поведение?
Я следовал этому руководству
Комментарии:
1. Используете ли вы один и тот же идентификатор пользователя в обоих случаях?
2. Можете ли вы пояснить, что вы подразумеваете под открытием веб-браузера? Используете ли вы Test в веб-чате в Azure или настроили WebChat для работы на вашей собственной веб-странице? Кроме того, в эмуляторе вы пробовали открыть выпадающее меню перезапуска беседы и перезапустить беседу с новым идентификатором пользователя? Как правило, данные будут сохраняться между диалогами, если оба окна диалога используют один и тот же идентификатор пользователя.
3. @stuartd, я провел тест, и в обоих случаях у меня есть некоторый идентификатор пользователя Экземпляр 1: «from»: { «id»: «42f4df72-06c1-406a-b144-95b0b908c379», «name»: «User» }, экземпляр 2: «from»: { «id»:»42f4df72-06c1-406a-b144-95b0b908c379″, «name»: «User» }, как я могу это исправить? Как я могу создать новый идентификатор пользователя для каждого нового экземпляра?
4. привет @tdurnford, я имел в виду одновременное использование двух браузеров, Firefox и Chrome. Я настраиваю веб-чат для работы на моей собственной странице. Перезапуск разговора (перезапуск с новым идентификатором пользователя) решил проблему в эмуляторе. Как я могу исправить эту проблему в веб-чате, чтобы работать на моей собственной странице? Как я могу убедиться, что у каждого пользователя есть новый идентификатор пользователя? Спасибо
Ответ №1:
Если вы не предоставите WebChat уникальный идентификатор для каждого разговора, он будет ссылаться на одни и те же объекты данных в хранилище. Итак, чтобы решить эту проблему, вы должны сгенерировать случайный идентификатор для каждого пользователя или экземпляра беседы. Смотрите фрагмент кода ниже для примера.
const userID = Date.now() Math.random().toString(36);
...
window.WebChat.renderWebChat({
directLine: window.WebChat.createDirectLine({ token }),
store,
userID
}, document.getElementById('webchat'));
Надеюсь, это поможет!
Ответ №2:
Также проверьте последнюю версию README.md ссылки на webchat WEBCHAT API В нем говорится
Если идентификатор пользователя не указан, по умолчанию используется случайный идентификатор пользователя
Может быть, это будет более эффективно.