/ / Distribuito nel bot di Azure non risponde - c #, botframework

Distribuito sul bot di Azure non risponde - c #, botframework

Inizio a studiare BotFramework e ho riscontrato un problema fastidioso.

  1. Creato bot "Hello world".
    Qui se il codice

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

Funziona bene localmente

  1. Lo ha distribuito su Azure.
  2. Impostare i parametri BotId, MicrosoftAppId e MicrosoftAppPassword corretti in web.config.
  3. L'URL con il mio bot è http://funnyskypebot20171026010946.azurewebsites.net e sembra che funzioni

Ma quando provo a "comunicare" con bit tramite Bot Framework Channel Emulator non ricevo più alcun messaggio ... Cosa potrebbe esserci di sbagliato? Si prega di avvisare.

risposte:

2 per risposta № 1

Presumo che tu abbia già seguito i passaggi https://docs.microsoft.com/en-us/bot-framework/deploy-dotnet-bot-visual-studio per la distribuzione in Azure.

Hai visto questo https://docs.microsoft.com/en-us/bot-framework/debug-bots-emulator per quanto riguarda il debugging da remoto usando ngrok?

Se si utilizza Visual Studio, sulla barra degli strumenti,puoi cliccare su "Visualizza -> Esplora server". Sotto "Azure -> Servizio app", dovresti vedere il tuo gruppo di risorse lì. Sotto il tuo gruppo di risorse, dovresti vedere il tuo servizio app. Fai clic con il pulsante destro del mouse e seleziona "Collega debugger" in modo da poter visualizzare l'output ("Visualizza -> Output") e eseguire il debug del servizio app distribuito.


0 per risposta № 2

Errore interno del server generalmente significa che c'è un qualche tipo di problema con il tuo codice. Prova a eseguire il debug localmente usando ngrok. Puoi cambiare il tuo endpoint in portale dev a quello che ngrok genera quando usi questo comando ngrok http 3979 -host-header="localhost:3979" passare alla porta su cui si trova il bot.

Ulteriori informazioni:
Post sul blog
Post sul blog