/ / Разгърнати на Azure бот не реагира - c #, botframework

Разположен на Azure bot не реагира - c #, botframework

Започвам да разследвам BotFramework и срещнах един досаден проблем.

  1. Създаден е "Здравей свят" бот.
    Тук, ако кодът

    public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
    {
    if (activity.Type == ActivityTypes.Message)
    {
    ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));
    // calculate something for us to return
    int length = (activity.Text ?? string.Empty).Length;
    
    // return our reply to the user
    Activity reply = activity.CreateReply($"You sent {activity.Text} which was {length} characters");
    await connector.Conversations.ReplyToActivityAsync(reply);
    }
    else
    {
    HandleSystemMessage(activity);
    }
    var response = Request.CreateResponse(HttpStatusCode.OK);
    return response;
    }
    

Той работи добре на местно ниво

  1. Направи го на Azure.
  2. Задайте правилните параметри на BotId, MicrosoftAppId и MicrosoftAppPassword в web.config.
  3. URL с бот ми е http://funnyskypebot20171026010946.azurewebsites.net и изглежда, че работи

Но когато се опитвам да "комуникирам" с малко чрез Bot Framework Channel Emulator аз не получавам никакви съобщения обратно ... Какво може да се обърка? Моля, консултирайте се.

Отговори:

2 за отговор № 1

Предполагам, че вече сте проследили стъпките https://docs.microsoft.com/en-us/bot-framework/deploy-dotnet-bot-visual-studio за внедряване в Azure.

Виждал ли си това https://docs.microsoft.com/en-us/bot-framework/debug-bots-emulator по отношение на отстраняване на грешки от разстояние чрез ngrok?

Ако използвате Visual Studio, в лентата с инструменти,можете да кликнете върху "Преглед -> Server Explorer". Под "Azure -> App Service" трябва да видите вашата група за ресурси там. Под групата на ресурсите си трябва да видите услугата си за приложения. Кликнете с десния бутон на мишката и изберете "Attach Debugger", за да видите изхода ("View -> Output") и да отстраните проблема с внедрената ви услуга за приложения.


0 за отговор № 2

Вътрешната сървърна грешка обикновено означава, че има някакъв проблем с вашия код. Опитайте да дебъгвате локално използването ngrok, Можете да промените крайната си точка в dev порта към тази, която ngrok генерира, когато използвате тази команда ngrok http 3979 -host-header="localhost:3979" промяна на порта, на който работи ботът ви.

Повече информация:
Блог пост
Блог пост