/ / Déployé sur Azure bot ne répond pas - c #, botframework

Déployé sur Azure, le bot ne répond pas - c #, botframework

Je commence à enquêter sur BotFramework et j'ai rencontré un problème ennuyeux.

  1. Création du bot "Hello world".
    Ici si le 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;
    }
    

Cela fonctionne bien localement

  1. L'a déployé sur Azure.
  2. Définissez les paramètres BotId, MicrosoftAppId et MicrosoftAppPassword corrects dans web.config.
  3. URL avec mon bot est http://funnyskypebot20171026010946.azurewebsites.net et il semble que ça marche

Mais quand j'essaie de "communiquer" avec bit via Bot Framework Channel Emulator, je ne reçois aucun message en retour ... Qu'est-ce qui pourrait être faux? S'il vous plaît donnez votre avis.

Réponses:

2 pour la réponse № 1

Je suppose que vous avez déjà suivi les étapes https://docs.microsoft.com/en-us/bot-framework/deploy-dotnet-bot-visual-studio pour le déploiement sur Azure.

Avez-vous vu cette https://docs.microsoft.com/en-us/bot-framework/debug-bots-emulator en ce qui concerne le débogage à distance en utilisant ngrok?

Si vous utilisez Visual Studio, sur la barre d’outils,vous pouvez cliquer sur "Affichage -> Explorateur de serveur". Sous "Azure -> App Service", vous devriez voir votre groupe de ressources. Sous votre groupe de ressources, vous devriez voir votre service d'application. Cliquez avec le bouton droit de la souris et sélectionnez "Joindre le débogueur" pour pouvoir afficher la sortie ("Affichage -> Sortie") et déboguer le service d'application déployé.


0 pour la réponse № 2

Une erreur interne du serveur signifie généralement qu'il existe un problème avec votre code. Essayez de déboguer localement en utilisant ngrok. Vous pouvez modifier votre point de terminaison dans le portail de développement à celui que ngrok génère lorsque vous utilisez cette commande ngrok http 3979 -host-header="localhost:3979" changez le port sur lequel votre bot s'exécute.

Plus d'informations:
Blog Post
Blog Post