2017-10-26 7 views
2

Ich beginne zu untersuchen, BotFramework und stieß auf ein lästiges Problem.Bereitgestellt auf Azure-Bot reagiert nicht

  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 lokal

  1. es auf Azure entfalteten.
  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 es

funktioniert aber wenn ich versuche zu „kommunizieren“ mit Bit über Bot-Framework-Channel Emulator i erhalten keine Nachrichten zurück ... Was könnte falsch sein ? Bitte beraten.

+0

Erhalten Sie Fehler im Emulator Log-Panel? – stuartd

+0

@Stuartd Nr. Ich habe keine Fehler im Emulator Panel – Disappointed

+0

Was ist Ihr Bot-Griff? – JasonSowers

Antwort

2

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

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

Wenn Sie Visual Studio verwenden, können Sie in der Symbolleiste 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

Vielen Dank für den Tipp! Ich habe es versucht, aber ich konnte keine Verbindung zu Azure mit Debugger herstellen ... Wahrscheinlich liegt der Grund darin, dass wir lokale Netzwerkbeschränkungen haben ... – Disappointed

1

Interner Serverfehler bedeutet im Allgemeinen, dass es eine Art Problem mit Ihrem Code gibt. Versuchen Sie das Debuggen lokal mit ngrok. Sie können Ihren Endpunkt in dev portal zu dem ändern, den ngrok generiert, wenn Sie diesen Befehl verwenden ngrok http 3979 -host-header="localhost:3979" ändern Sie den Port, auf dem Ihr Bot läuft.

Weitere Informationen:
Blog Post
Blog Post