Fouten opsporen in een bot vanuit elk kanaal met behulp van ngrok

VAN TOEPASSING OP: SDK v4

Terwijl uw bot in ontwikkeling is, kunt u een IDE en de Bot Framework Emulator gebruiken om lokaal met uw bot te chatten en de berichten te inspecteren die uw bot verzendt en ontvangt. Als uw bot in productie is, kunt u fouten in uw bot opsporen vanuit elk kanaal met behulp van ngrok. De naadloze verbinding van uw bot met meerdere kanalen is een belangrijke functie die beschikbaar is in het Bot Framework.

In dit artikel wordt beschreven hoe u lokaal fouten in uw bot kunt opsporen met behulp van ngrok en een C# EchoBot in een kanaal dat is verbonden met uw bot. In dit artikel wordt Microsoft Teams gebruikt als voorbeeldkanaal.

Notitie

De Bot Framework Emulator en ngrok bieden geen ondersteuning voor door de gebruiker toegewezen beheerde identiteit of bots met één tenant.

Vereisten

ngrok uitvoeren

ngrok is een platformoverschrijdende toepassing die een tunneling- of doorstuur-URL kan maken, zodat internetaanvragen uw lokale computer bereiken. Gebruik ngrok om berichten van externe kanalen op internet rechtstreeks door te sturen naar uw lokale computer om foutopsporing toe te staan, in plaats van het standaardberichteneindpunt dat is geconfigureerd in Azure Portal.

  1. Open een terminal en ga naar de map met het uitvoerbare bestand ngrok.

  2. Voer ngrok uit met de volgende opdracht om een nieuwe tunnel te maken.

    ngrok http 3978 --host-header rewrite
    

    Notitie

    De opgegeven poort is de poort waarop uw bot wordt uitgevoerd. U kunt een localhost-poort gebruiken die u wilt.

  3. Wanneer ngrok wordt gestart, kopieert u de openbare doorstuur-URL en slaat u deze op voor later gebruik.

    ngrok forwarding URL

Configureren in Azure Portal

Terwijl ngrok wordt uitgevoerd, meldt u zich aan bij uw Azure-portal en bekijkt u de botinstellingen om enige configuratie uit te voeren.

  1. Selecteer uw botresource die is verbonden met uw lokale bot.

  2. Schuif omlaag naar Configuratie. Kopieer en plak de doorstuur-URL van ngrok in het veld Messaging-eindpunt . Zorg ervoor dat u '/api/messages' aan het einde van de URL onderhoudt.

    Messaging endpoint

  3. Schuif omhoog en selecteer Opslaan.

Testen

Op dit moment worden binnenkomende berichten van naar uw bot vanuit externe kanalen verzonden naar uw lokale bot. De voorbeeldbot die we gebruiken om aan te tonen dat dit al live is geconfigureerd voor Microsoft Teams. Lees Verbinding maken een bot met Microsoft Teams over het verbinden van een lokale bot met het Microsoft Teams-kanaal.

Teams channel

Lokaal kunt u onderbrekingspunten instellen in Visual Studio. Als u de teksteigenschap uitbreidt vanuit het binnenkomende activiteitsobject, ziet u dat het bericht dat u de bot van teams hebt verzonden, lokaal wordt onderschept om fouten op te sporen.

Set breakpoints

Hier kunt u fouten opsporen en uw code stap voor stap uitvoeren. Gebruik deze om fouten in uw bot op te sporen vanuit elk kanaal.

Aanvullende informatie