/ / Auf Azure-Bot implementiert antwortet nicht - c #, Botframework

Bereitgestellt auf Azure-Bot antwortet nicht - c #, botframework

Ich beginne mit der Untersuchung von BotFramework und stoße auf ein nerviges Problem.

  1. Erstellt "Hallo Welt" Bot.
    Hier, wenn der Code

    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;
    }
    

Es funktioniert gut lokal

  1. Es auf Azure bereitgestellt.
  2. Legen Sie die korrekten BotId-, MicrosoftAppId- und MicrosoftAppPassword-Parameter in web.config fest.
  3. URL mit meinem Bot ist http://funnyskypebot20171026010946.azurewebsites.net und es sieht so aus, als ob es funktioniert

Aber wenn ich über Bot Framework Channel Emulator mit Bit "kommunizieren" will, bekomme ich keine Nachrichten zurück ... Was könnte falsch sein? Bitte beraten.

Antworten:

2 für die Antwort № 1

Ich nehme an, Sie haben die Schritte bereits ausgeführt https://docs.microsoft.com/en-us/bot-framework/deploy-dotnet-bot-visual-studio für die Bereitstellung in Azure.

Hast du das gesehen https://docs.microsoft.com/en-us/bot-framework/debug-bots-emulator in Bezug auf das Debuggen aus der Ferne mit Ngrok?

Wenn Sie Visual Studio auf der Symbolleiste verwenden,Sie können auf "Ansicht -> Server Explorer" klicken. Unter "Azure -> App Service" sollten Sie Ihre Ressourcengruppe dort sehen. Unter Ihrer Ressourcengruppe sollten Sie Ihren App-Service sehen. Klicken Sie mit der rechten Maustaste und wählen Sie "Debugger anhängen", um die Ausgabe ("Ansicht -> Ausgabe") anzuzeigen und den bereitgestellten App-Dienst zu debuggen.


0 für die Antwort № 2

Interner Serverfehler bedeutet normalerweise, dass es Probleme mit Ihrem Code gibt. Versuchen Sie, lokal zu debuggen Ngrok. Sie können Ihren Endpunkt in der ändern Entwickler-Portal zu der, die ngrok generiert, wenn Sie diesen Befehl verwenden ngrok http 3979 -host-header="localhost:3979" Wechseln Sie zu dem Port, auf dem Ihr Bot läuft.

Mehr Info:
Blogeintrag
Blogeintrag