C # Bot Framework - Ресурс не найден Ошибка - PullRequest
0 голосов
/ 23 мая 2018

Я создал небольшое базовое веб-приложение для ботов, используя бот-фреймворк, и хочу развернуть его в Azure.Я выполнил все шаги, и он работает нормально в разделе «Тестирование в веб-чате» портала Azure, но, тем не менее, когда я открываю конечную точку своего бота

https://optlbot.azurewebsites.net/api/messages

, я получаю ошибкуговоря:

The requested resource does not support http method 'GET'

Может кто-нибудь, пожалуйста, помогите мне, я не могу отладить мое приложение вообще.Я также проверил на эмуляторе и там тоже работает нормально.

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Если вы проверите код вашего MessagesController, вы обнаружите следующее действие, определенное в вашем контроллере, оно только примет запрос POST и прочитает значение activity из тела запроса, ононе поддерживает http метод ' GET '.

/// <summary>
/// POST: api/Messages
/// Receive a message from a user and reply to it
/// </summary>
public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
{
    if (activity.Type == ActivityTypes.Message)
    {
        await Conversation.SendAsync(activity, () => new Dialogs.RootDialog());
    }
    else
    {
        HandleSystemMessage(activity);
    }
    var response = Request.CreateResponse(HttpStatusCode.OK);
    return response;
}
0 голосов
/ 23 мая 2018

Да, URL https://optlbot.azurewebsites.net/api/messages работает только для запроса POST, а не для запроса GET, поскольку вы публикуете aсообщение от пользователя боту, а не получение, вы можете увидеть в коде MessagesController.

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

Теперь, если вы хотите опубликовать бота в мире, чтобы другие могли его видеть и использовать, вот где каналПриходите. Рассмотрите канал как средство, с помощью которого вы можете использовать своего бота для других с гораздо лучшим пользовательским интерфейсом.

Для бота доступно несколько каналов для публикации, и да, вы можете опубликоватьодин и тот же бот во всех каналах. webchat - это всего лишь один канал, который по умолчанию включен и способ его просмотра:

  1. Откройте своего бота на портале Azure.и нажмите Каналы блейд.
  2. Нажмите Изменить для Веб-чат Канал
  3. Под Секретные ключи , нажмите Показать для первого ключа enter image description here
  4. Скопируйте Секретный ключ и Код для встраивания .
  5. Нажмите Готово

Таким образом, код для встраивания на самом деле является iframe, которыйВы можете разместить на своем сайте или поделиться с другими, кто хочет использовать ваш бот.Или вы можете использовать src iFrame, чтобы напрямую связаться с ботом.

Опять же, это всего лишь один канал.Вы можете взглянуть на документацию Настройка каналов , чтобы узнать, как включить бота в другие каналы, такие как Skype, Microsoft Teams, электронная почта, Facebook, Slack, Telegram и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...