Problembehandlung für allgemeine ProblemeTroubleshoot general

gilt für: SDK v4APPLIES TO: SDK v4

Mithilfe dieser häufig gestellten Fragen können Sie allgemeine Probleme bei der Entwicklung oder dem Betrieb von Bots beheben.These frequently asked questions can help you to troubleshoot common bot development or operational issues.

Wie kann ich Probleme mit meinem Bot beheben?How can I troubleshoot issues with my bot?

  1. Debuggen Sie den Quellcode des Bots mit Visual Studio Code oder Visual Studio.Debug your bot's source code with Visual Studio Code or Visual Studio.
  2. Testen Sie den bot mit dem Emulator , bevor Sie ihn in der Cloud bereitstellen.Test your bot using the Emulator before you deploy it to the cloud.
  3. Stellen Sie den Bot auf einer Cloudhostingplattform wie Azure bereit, und testen Sie dann die Verbindung mit dem Bot mithilfe des integrierten Webchat-Steuerelements im Dashboard Ihres Bots über das Azure-Portal.Deploy your bot to a cloud hosting platform such as Azure and then test connectivity to your bot by using the built-in web chat control on your bot's dashboard in the Azure Portal. Wenn für Ihren Bot nach der Bereitstellung in Azure Probleme auftreten, hilft Ihnen ggf. dieser Blogartikel weiter: Understanding Azure troubleshooting and support (Grundlegendes zu Azure-Problembehandlung und -Support).If you encounter issues with your bot after you deploy it to Azure, you might consider using this blog article: Understanding Azure troubleshooting and support.
  4. Schließen Sie die Authentifizierung als mögliches Problem aus.Rule out authentication as a possible issue.
  5. Testen Sie Ihren Bot in Web Chat, Teams oder in einem anderen Kanal, den Sie mit Ihrem Bot verwenden möchten.Test your bot on Web Chat, Teams, or any other channel you intend to use with your bot. Dadurch können Sie die End-to-End-Benutzererfahrung überprüfen.This will help you to validate the end-to-end user experience.
  6. Es empfiehlt sich, den Bot auf Kanälen zu testen, die zusätzliche Authentifizierungsanforderungen aufweisen, z.B. Direct Line oder Web Chat.Consider testing your bot on channels that have additional authentication requirements such as Direct Line or Web Chat.
  7. Sehen Sie sich die Anweisungen zum Debuggen eines Bots sowie die anderen Artikel zum Debuggen in diesem Abschnitt an.Review the how-to debug a bot and the other debugging articles in that section.

Wie kann ich Probleme bei der Authentifizierung beheben?How can I troubleshoot authentication issues?

Ausführliche Informationen zur Behandlung von Authentifizierungsproblemen für Ihren Bot finden Sie unter Problembehandlung bei der Bot Framework-Authentifizierung.For details about troubleshooting authentication issues with your bot, see troubleshooting Bot Framework authentication.

Gewusst wie testen Sie die Netzwerk Konnektivität zwischen Bots und einem Kanal?How do I test network connectivity between bots and a channel?

Sie können die in den folgenden Schritten generierten IP-Adressen verwenden, um zu überprüfen, ob die Verbindung mit diesen Adressen durch eine Regel blockiert wird.You can use the IP addresses, generated by the steps below, to verify if there is any rule blocking the connection with those addresses. Weitere Informationen finden Sie im Abschnitt Überprüfen derfirewallablauf Verfolgungen beiSee section Check firewall traces on failed connections.

Verbindung zwischen bot und Channel testenTest connection from bot to channel

  1. Navigieren Sie in Ihrem Browser zum Azure-Portal.In your browser, navigate to the Azure portal.

  2. Wählen Sie Ihren bot App Service deren Verbindung Sie testen möchten.Select your bot App Service whose connection you want to test.

  3. Wählen Sie im linken Bereich im Abschnitt Entwicklungs Tools die Option Erweiterte Tools aus.In the left pane, in the Development Tools section, select Advanced Tools.

  4. Klicken Sie im rechten Bereich auf Gehe zu.In the right pane, click Go. Die Seite Kudu-Informationen wird angezeigt.The Kudu information page is displayed.

  5. Klicken Sie in der oberen Menüleiste auf Debugkonsole.In the top menu bar, click Debug console. Klicken Sie dann im Dropdown Menü auf cmd.Then, in the drop down menu, click CMD. Die Kudu-bot-Web-App-Konsole wird geöffnet.The Kudu bot web app console is opened. Weitere Informationen finden Sie unter Kudu.For more information, see Kudu.

    Kudu-cmd-Konsole

  6. Führen nslookup directline.botframework.com Sie aus, und prüfen Sie, ob die DNS-Auflösung funktioniert.Run nslookup directline.botframework.com and check if the DNS resolution is working. Beachten Sie, dass nslookup (Nameserver Suche) ein Befehlszeilen Tool für die Netzwerkverwaltung ist, mit dem die Domain Name System (DNS) abgefragt werden kann, um die Zuordnung von Domänen Namen oder IP-Adressen oder andere DNS-Einträge zu erhalten.Notice that nslookup (name server lookup) is a network administration command-line tool for querying the Domain Name System (DNS) to obtain domain name or IP address mapping, or other DNS records. Wenn die DNS-Auflösung funktioniert, enthält die Antwort auf diesen Befehl die relevanten Informationen.If the DNS resolution is working, the response to this command will contain the relevant information.

    Kudu-cmd-Konsolen-bot Channel DNS

    Das Whois-IP-lookuptool ist nützlich, um Informationen zu IP-Adressen zu erhalten.The WHOIS IP Lookup Tool is useful to get information about IP addresses.

  7. Führen Sie curl -I directline.botframework.com aus.Run curl -I directline.botframework.com. (Die Option -I wird verwendet, um eine Antwort zu erhalten, die nur den Header enthält.) Überprüfen Sie, ob der HTTP-Status 301 zurückgegeben wird. Dies ist eine Überprüfung, ob eine Verbindung besteht.(The option -I is used to obtain a response containing the header only.) Double check that an HTTP status of 301 is returned This is a check that there is connectivity.

    Kudu-cmd-Konsole HTTP 301

Verbindung zwischen Kanal und bot testenTest connection from channel to bot

Da curl keinen Zugriff auf die Produktions Site hat und directline.botframework.com sich im öffentlichen Internet befindet, müssen Sie curl im Simulationsmodus verwenden.Because curl doesn't have access to the production site, and directline.botframework.com is on the public internet, you must use curl in simulation mode. Führen Sie die unten gezeigten Schritte außerhalb eines virtuellen privaten Netzwerks (vnet) aus, z. b. über einen Mobil telefonhotspot.Perform the steps shown below outside a Virtual Private Network (VNET), for example, using a cell phone hotspot. Weitere Informationen finden Sie unter Was ist Azure Virtual Network?.See also What is Azure Virtual Network?.

  1. Führen Sie nslookup ivr-sr-bot.botapps.amat.com aus.Run nslookup ivr-sr-bot.botapps.amat.com. Die DNS-Auflösung funktioniert, wenn die Antwort auf diesen Befehl relevante Informationen enthält.The DNS resolution is working if the response to this command contains relevant information.

    Kudu-cmd-Konsolen Kanal-bot-DNS

  2. Führen curl -I https://ivr-sr-bot.botapps.amat.com/api/messages Sie aus, und überprüfen Sie, ob ein entsprechender HTTP-Statuscode zurückgegeben wird (beispielsweise 405-Methode nicht zulässig).Run curl -I https://ivr-sr-bot.botapps.amat.com/api/messages and check whether an appropriate HTTP status code is returned (for example, 405 method not allowed). Die in der Anforderung angegebene Methode ist für die durch den angegebenen URI identifizierte Ressource nicht zulässig.The method specified in the request is not allowed for the resource identified by the specified URI. Dies ist nur eine Möglichkeit, um zu überprüfen, ob Konnektivität vorhanden ist.This is just a way to check that there is connectivity.

    Kudu-cmd-Konsole http 405

  3. Wenn Sie die Antwort nicht vom bot erhalten, notieren Sie sich die IP-Adresse des Clients.If you do not get the response from the bot, write down the client's IP address.

Firewallüberwachungen bei Verbindungsfehlern überprüfenCheck firewall traces on failed connections

Verwenden Sie die IP-Adressen aus nslookup ivr-sr-bot.botapps.amat.com und, nslookup directline.botframework.com und überprüfen Sie, ob eine Regel die Verbindung mit diesen Adressen in beide Richtungen blockiert.Use the IP addresses from nslookup ivr-sr-bot.botapps.amat.com and nslookup directline.botframework.com and check if there is a rule blocking connection with those addresses on either direction.

Ich verwende das Bot Framework SDK für .NET.I'm using the Bot Framework SDK for .NET. Wie kann ich Probleme mit meinem Bot beheben?How can I troubleshoot issues with my bot?

Suchen Sie nach Ausnahmen.Look for exceptions. Navigieren Sie in Visual Studio 2019 zu Debuggen > Windows > Ausnahmeeinstellungen.In Visual Studio 2019, go to Debug > Windows > Exception Settings. Aktivieren Sie im Fenster Ausnahmeeinstellungen das Kontrollkästchen Unterbrechen bei Auslösen von neben Common Language Runtime-Ausnahmen.In the Exceptions Settings window, select the Break When Thrown checkbox next to Common Language Runtime Exceptions. Möglicherweise wird auch eine Diagnoseausgabe im Fenster „Ausgabe“ angezeigt, wenn ausgelöste oder nicht behandelte Ausnahmen vorliegen.You may also see diagnostics output in your Output window when there are thrown or unhandled exceptions.

Sehen Sie sich die Aufrufliste an.Look at the call stack. In Visual Studio können Sie auswählen, ob Sie Nur eigenen Code debuggen oder nicht.In Visual Studio, you can choose whether or you are debugging Just My Code or not. Das Untersuchen der vollständigen Aufrufliste kann zusätzliche Einblicke in Probleme geben.Examining the full call stack may provide additional insight into any issues.

Stellen Sie sicher, dass alle Dialogmethoden mit einem Plan zur Handhabung der nächsten Nachricht enden.Ensure all dialog methods end with a plan to handle the next message. Alle Dialogschritte müssen in den nächsten Schritt des Wasserfalls einfließen oder den aktuellen Dialog beenden, damit er aus dem Stapel herausfällt.All dialog steps need to feed into the next step of the waterfall, or end the current dialog to pop it off the stack. Wenn ein Schritt nicht korrekt verarbeitet wird, verläuft die Konversation nicht wie gewünscht.If a step is not correctly handled, the conversation will not continue like you expect. Weitere Informationen zu Dialogen finden Sie im Artikel zu den Dialogkonzepten.Take a look at the concept article for dialogs for more on dialogs.

Was verursacht einen Fehler mit dem HTTP-Statuscode 429 „Zu viele Anforderungen“?What causes an error with HTTP status code 429 "Too Many Requests"?

Eine Fehlerantwort mit dem HTTP-Statuscode 429 gibt an, dass zu viele Anforderungen in einem bestimmten Zeitraum ausgestellt wurden.An error response with HTTP status code 429 indicates that too many requests have been issued in a given amount of time. Der Antworttext sollte eine Erläuterung des Problems enthalten und kann auch das erforderliche Mindestintervall zwischen Anforderungen angeben.The body of the response should include an explanation of the problem and may also specify the minimum required interval between requests. Eine mögliche Ursache für diesen Fehler ist das Tool ngrok.One possible source for this error is the ngrok tool. Wenn Sie einen kostenlosen Plan („Free“) verwenden und die Beschränkungen von ngrok erreichen, wechseln Sie zur Seite mit Preisen und Einschränkungen auf der entsprechenden Website, um weitere Optionen anzuzeigen.If you are on a free plan and running into ngrok's limits, go to the pricing and limits page on their website for more options.

Warum erhält der Benutzer meine Botnachrichten nicht?Why aren't my bot messages getting received by the user?

Die in der Antwort generierte Nachrichten Aktivität muss ordnungsgemäß adressiert werden, andernfalls wird Sie nicht an dem vorgesehenen Ziel ankommen.The message activity generated in response must be correctly addressed, otherwise it won't arrive at its intended destination. In der überwiegenden Zahl der Fälle müssen Sie dies nicht explizit einrichten. Das SDK übernimmt die Adressierung der Nachrichtenaktivität für Sie.In the vast majority of cases you will not need to handle this explicitly; the SDK takes care of addressing the message activity for you.

Das richtige Adressieren einer Aktivität bedeutet, dass die entsprechenden Details zu Konversations-IDs sowie Details zum Absender eingeschlossen werden.Correctly addressing an activity means including the appropriate conversation IDs details along with details about the sender. Meist wird die Nachrichtenaktivität als Antwort auf eine eingehende Nachrichtenaktivität gesendet.In most cases, the message activity is sent in response to one that had arrived. Die Details für die Adressierung können daher der eingehenden Aktivität entnommen werden.Therefore, the addressing details can be taken from the inbound activity.

Wenn Sie Ablaufverfolgungen oder Überwachungsprotokolle untersuchen, können Sie überprüfen, ob Ihre Nachrichten richtig adressiert sind.If you examine traces or audit logs, you can check to make sure your messages are correctly addressed. Falls nicht, können Sie in Ihrem Bot einen Breakpoint festlegen und nachsehen, wo die IDs für Ihre Nachricht festgelegt werden.If they aren't, set a breakpoint in your bot and see where the IDs are being set for your message.

Wie kann ich Hintergrundaufgaben in ASP.NET ausführen?How can I run background tasks in ASP.NET?

In einigen Fällen empfiehlt es sich, eine asynchrone Aufgabe zu initiieren, die einige Sekunden wartet und dann einen Code zum Löschen des Benutzerprofils oder Zurücksetzen des Konversations-/Dialogzustands ausführt.In some cases, you may want to initiate an asynchronous task that waits for a few seconds and then executes some code to clear the user profile or reset conversation/dialog state. Weitere Informationen zur Vorgehensweise finden Sie unter Ausführen von Hintergrundaufgaben in ASP.NET.For details about how to achieve this, see How to run Background Tasks in ASP.NET. Ziehen Sie vor allem die Verwendung von HostingEnvironment.QueueBackgroundWorkItem in Betracht.In particular, consider using HostingEnvironment.QueueBackgroundWorkItem.

Mein Bot reagiert nur langsam auf die erste Nachricht, die er empfängt.My bot is slow to respond to the first message it receives. Wie kann ich ihn schneller machen?How can I make it faster?

Bots sind Webdienste, und einige Hostingplattformen, einschließlich Azure, setzen den Dienst automatisch in den Energiesparmodus, wenn über einen bestimmten Zeitraum kein Datenverkehr empfangen wird.Bots are web services and some hosting platforms, including Azure, automatically put the service to sleep if it does not receive traffic for a certain period of time. Wenn das bei Ihrem Bot der Fall ist, muss er beim nächsten Empfangen einer Nachricht ganz neu starten, wodurch er wesentlich langsamer reagiert als wenn er bereits ausgeführt würde.If this happens to your bot, it must restart from scratch the next time it receives a message, which makes its response much slower than if it was already running.

Auf einigen Hostingplattformen können Sie den Dienst so konfigurieren, dass er nicht in den Energiesparmodus gesetzt wird.Some hosting platforms enable you to configure your service so that it will not be put to sleep. Wenn Ihr Bot in Azure Bot Service-Web-Apps gehostet wird, navigieren Sie im Azure-Portal zum Dienst Ihres Bots, und wählen Sie Anwendungseinstellungen > Immer aktiviert aus.If your bot is hosted on Azure Bot Service Web Apps, navigate to your bot's service in the Azure Portal, select Application settings, and then select Always on. Diese Option steht in den meisten, aber nicht allen Diensttarifen zur Verfügung.This option is available in most, but not all, service plans.

Wie kann ich die Reihenfolge der Nachrichtenübermittlung sicherstellen?How can I guarantee message delivery order?

Bot Framework behält die Nachrichtenreihenfolge so weit wie möglich bei.The Bot Framework will preserve message ordering as much as possible. Dies ist beispielsweise der Fall, wenn Sie Nachricht A senden und auf den Abschluss dieses HTTP-Vorgangs warten, bevor Sie einen weiteren HTTP-Vorgang zum Senden von Nachricht B initiieren. Bei einigen Kanälen (etwa SMS und E-Mail) wird die Reihenfolge für das Gerät des Benutzers nicht garantiert.For example, if you send message A and wait for the completion of that HTTP operation before you initiate another HTTP operation to send message B. Some channels, such as SMS and email, do not guarentee ordering to the user's device.

Warum werden Teile meines Nachrichtentexts gelöscht?Why are parts of my message text being dropped?

Bot Framework und viele Kanäle interpretiert Text so, als wäre er mit Markdown formatiert.The Bot Framework and many channels interpret text as if it were formatted with Markdown. Überprüfen Sie, ob Ihr Text Zeichen enthält, die als Markdown-Syntax interpretiert werden könnten.Check to see if your text contains characters that may be interpreted as Markdown syntax.

Wie kann ich mehrere Bots am gleichen Bot-Dienstendpunkt unterstützen?How can I support multiple bots at the same bot service endpoint?

Dieses Beispiel zeigt, wie Sie Conversation.Container mit den richtigen MicrosoftAppCredentials konfigurieren und einen einfachen MultiCredentialProvider zum Authentifizieren mehrerer App-IDs und Kennwörter verwenden.This sample shows how to configure the Conversation.Container with the right MicrosoftAppCredentials and use a simple MultiCredentialProvider to authenticate multiple App IDs and passwords.

BezeichnerIdentifiers


Wie funktionieren Bezeichner in Bot Framework?How do identifiers work in the Bot Framework?

Ausführliche Informationen zu Bezeichnern in Bot Framework finden Sie in der Anleitung zu Bezeichnern für Bot Framework.For details about identifiers in the Bot Framework, see the Bot Framework guide to identifiers.

Wie erhalte ich Zugriff auf die Benutzer-ID?How can I get access to the user ID?

Bei Bot Framework-Kanälen steht die Benutzer-ID im Feld from.Id jeder Aktivität zur Verfügung, die vom Benutzer gesendet wird.Bot Framework channels present the user's ID in the from.Id field of any Activity sent by the user. SMS- und E-Mail-Nachrichten stellen in dieser Eigenschaft die unformatierte Benutzer-ID bereit.SMS and email messages will provide the raw user ID in this property. Bei einigen Kanälen wird die Eigenschaft from.Id verschleiert. In diesen Fällen enthält sie eine eindeutige ID für den Benutzer, die sich von der ID des Benutzers im Kanal unterscheidet.Some channels obscure the from.Id property so it contains unique ID for the user which differs from the user's ID in the channel. Wenn Sie eine Verbindung mit einem vorhandenen Konto herstellen müssen, können Sie eine Anmeldekarte verwenden und Ihren eigenen OAuth-Flow implementieren, um die Benutzer-ID mit der Benutzer-ID Ihres eigenen Diensts zu verbinden.If you need to connect to an existing account, you can use a sign-in card and implement your own OAuth flow to connect the user ID to your own service's user ID.

Warum werden meine Facebook-Benutzernamen nicht mehr angezeigt?Why are my Facebook user names not showing anymore?

Haben Sie Ihr Facebook-Kennwort geändert?Did you change your Facebook password? Hierdurch wird das Zugriffstoken ungültig, und Sie müssen die Konfigurationseinstellungen Ihres Bots für den Facebook Messenger-Kanal im Azure-Portal aktualisieren.Doing so will invalidate the access token, and you will need to update your bot's configuration settings for the Facebook Messenger channel in the Azure Portal.

Warum gibt mein Kik-Bot als Antwort zurück, dass er jetzt nicht sprechen kann?Why is my Kik bot replying "I'm sorry, I can't talk right now"?

Für Bots in der Entwicklungsphase sind auf Kik 50 Abonnenten zulässig.Bots in development on Kik are allowed 50 subscribers. Nachdem 50 eindeutige Benutzer mit Ihrem Bot interagiert haben, erhält jeder neue Benutzer, der mit Ihrem Bot zu chatten versucht, die Meldung, dass dieser jetzt nicht sprechen kann.After 50 unique users have interacted with your bot, any new user that attempts to chat with your bot will receive the message "I'm sorry, I can't talk right now." Weitere Informationen finden Sie in der Kik-Dokumentation.For more information, see Kik documentation.

Wie kann ich authentifizierte Dienste von meinem Bot aus verwenden?How can I use authenticated services from my bot?

Informationen zur Azure Active Directory Authentifizierung finden Sie im Tutorial Hinzufügen von Authentifizierung zu Ihrem bot .For Azure Active Directory authentication, see the Add authentication to your bot tutorial.

Hinweis

Wenn Sie Authentifizierungs- und Sicherheitsfunktionen zu Ihrem Bot hinzufügen, sollten Sie sicherstellen, dass die in Ihrem Code implementierten Muster den für Ihre Anwendung geeigneten Sicherheitsstandards entsprechen.If you add authentication and security functionality to your bot, you should ensure that the patterns you implement in your code comply with the security standards that are appropriate for your application.

Wie kann ich den Zugriff auf meinen Bot auf eine vordefinierte Liste von Benutzern beschränken?How can I limit access to my bot to a pre-determined list of users?

Einige Kanäle (z.B. SMS und E-Mail) stellen Adressen ohne Bereichseinschränkung bereit.Some channels, such as SMS and email, provide unscoped addresses. In diesen Fällen enthalten Nachrichten vom Benutzer die Benutzer-ID in Rohform in der from.Id-Eigenschaft.In these cases, messages from the user will contain the raw user ID in the from.Id property.

Andere Kanäle, wie z. b. Facebook und Slack, stellen eine Bereichs bezogene oder Mandanten bezogene Adresse auf eine Weise bereit, die verhindert, dass ein bot eine Benutzer-ID vorhersagen kann.Other channels, such as Facebook and Slack, provide either scoped or tenanted addresses in a way that prevents a bot from being able to predict a user's ID ahead of time. In diesen Fällen müssen Sie den Benutzer über einen Anmeldelink oder einen gemeinsamen geheimen Schlüssel authentifizieren, um zu bestimmen, ob er zur Verwendung des Bots berechtigt ist.In these cases, you will need to authenticate the user via a login link or shared secret in order to determine whether or not they are authorized to use the bot.

Warum beginnt meine Direct Line 1.1-Konversation nach jeder Nachricht neu?Why does my Direct Line 1.1 conversation start over after every message?

Hinweis

Diese Abschnitte gelten nicht für die neueste Version des Direct Line-Protokolls (3.0).This sections does not apply to the latest version of the Direct Line protocol, 3.0

Wenn Ihre Direct Line-Konversation nach jeder Nachricht neu zu beginnen scheint, liegt das wahrscheinlich daran, dass in Nachrichten, die von Ihrem Direct Line-Client an den Bot gesendet werden, die from-Eigenschaft nicht vorhanden oder null ist.If your Direct Line conversation appears to start over after every message, the from property is likely missing or null in messages that your Direct Line client sent to the bot. Wenn ein Direct Line-Client eine Nachricht sendet, bei der die from-Eigenschaft entweder fehlt oder null ist, weist der Direct Line-Dienst automatisch eine ID zu, sodass jede vom Client gesendete Nachricht von einem neuen und anderen Benutzer zu stammen scheint.When a Direct Line client sends a message with the from property either missing or null, the Direct Line service automatically allocates an ID, so every message that the client sends will appear to originate from a new, different user.

Um dieses Problem zu beheben, legen Sie die from-Eigenschaft in jeder vom Direct Line-Client gesendeten Nachricht auf einen stabilen Wert fest, der den Benutzer, der die Nachricht sendet, eindeutig darstellt.To fix this, set the from property in each message that the Direct Line client sends to a stable value that uniquely represents the user who is sending the message. Wenn sich beispielsweise ein Benutzer bereits bei einer Webseite oder App angemeldet hat, können Sie diese vorhandene Benutzer-ID als Wert für die from-Eigenschaft in Nachrichten verwenden, die der Benutzer sendet.For example, if a user is already signed-in to a webpage or app, you might use that existing user ID as the value of the from property in messages that the user sends. Alternativ können Sie auch eine zufällige Benutzer-ID beim Laden der Seite oder der Anwendung generieren, diese ID in einem Cookie oder Gerätestatus speichern und diese ID als Wert für die from-Eigenschaft in Nachrichten verwenden, die der Benutzer sendet.Alternatively, you might choose to generate a random user ID on page-load or on application-load, store that ID in a cookie or device state, and use that ID as the value of the from property in messages that the user sends.

Warum antwortet der Direct Line 3.0-Dienst mit dem HTTP-Statuscode 502 „Ungültiges Gateway“?What causes the Direct Line 3.0 service to respond with HTTP status code 502 "Bad Gateway"?

Direct Line 3.0 gibt den HTTP-Statuscode 502 zurück, wenn der Dienst versucht, Kontakt mit Ihrem Bot aufzunehmen, die Anforderung aber nicht erfolgreich abgeschlossen wird.Direct Line 3.0 returns HTTP status code 502 when it tries to contact your bot but the request does not complete successfully. Dieser Fehler weist darauf hin, dass entweder der Bot einen Fehler zurückgeben hat oder bei der Anforderung eine Zeitüberschreitung aufgetreten ist. Zum Anzeigen weiterer Informationen zu Fehlern, die von Ihrem Bot generiert werden, wechseln Sie zum Dashboard des Bots im Azure-Portal und klicken auf den Link „Probleme“ für den betreffenden Kanal.This error indicates that either the bot returned an error or the request timed out. For more information about errors that your bot generates, go to the bot's dashboard within the Azure Portal and click the "Issues" link for the affected channel. Wenn Sie Application Insights für Ihren Bot konfiguriert haben, können Sie auch dort ausführliche Informationen zu Fehlern finden.If you have Application Insights configured for your bot, you can also find detailed error information there.

Warum erhalte ich beim Erstellen eines Bots eine Ausnahme vom Typ „Authorization_RequestDenied“?Why do I get an Authorization_RequestDenied exception when creating a bot?

Die Berechtigungen zum Erstellen von Azure Bot Service-Bots werden über das Azure Active Directory (AAD)-Portal verwaltet.Permission to create Azure Bot Service bots are managed through the Azure Active Directory (AAD) portal. Wenn Berechtigungen im AAD-Portal nicht ordnungsgemäß konfiguriert sind, erhalten Benutzer bei dem Versuch, einen Botdienst zu erstellen, die Ausnahme Authorization_RequestDenied.If permissions are not properly configured in the AAD portal, users will get the Authorization_RequestDenied exception when trying to create a bot service.

Überprüfen Sie zunächst, ob Sie ein „Gast“ von Active Directory sind:First check whether you are a "Guest" of the directory:

  1. Melden Sie sich beim Azure-Portal an.Sign-in to Azure portal.
  2. Klicken Sie auf Alle Dienste, und suchen Sie nach aktiv.Click All services and search for active.
  3. Wählen Sie Azure Active Directory aus.Select Azure Active Directory.
  4. Klicken Sie auf Users.Click Users.
  5. Suchen Sie den Benutzer in der Liste, und stellen Sie sicher, dass der Benutzertyp nicht Gast lautet.Find the user from the list and ensure that the User Type is not a Guest.

Azure Active Directory-Benutzertyp

Nachdem Sie sich vergewissert haben, dass Sie kein Gast sind, muss der AAD-Administrator die folgenden Einstellungen konfigurieren, um sicherzustellen, dass Benutzer in einem Active Directory Botdienste erstellen können:Once you verified that you are not a Guest, then to ensure that users within an active directory can create bot service, the directory administrator needs to configure the following settings:

  1. Melden Sie sich beim AAD-Portal an.Sign-in to AAD portal. Wechseln Sie zu Benutzer und Gruppen, und wählen Sie Benutzereinstellungen aus.Go to Users and groups and select User settings.
  2. Legen Sie im Abschnitt App-Registrierung die Option Benutzer können Anwendungen registrieren auf Ja fest.Under App registration section, set Users can register applications to Yes. Dadurch können Benutzer in Ihrem Active Directory Botdienste erstellen.This allows users in your directory to create bot service.
  3. Setzen Sie im Abschnitt Externe Benutzer die Option Berechtigungen für Gastbenutzer sind eingeschränkt auf Nein.Under the External users section, set Guest users permissions are limited to No. Dadurch können Gastbenutzer in Ihrem Active Directory Botdienste erstellen.This allows guest users in your directory to create bot service.

Azure Active Directory Admin Center

Warum kann ich meinen Bot nicht migrieren?Why can't I migrate my bot?

Wenn Ihr Bot in „dev.botframework.com“ registriert ist und Sie ihn zu Azure migrieren möchten, dabei aber Probleme auftreten, gehört der Bot möglicherweise nicht Ihrem Standardverzeichnis an.If your bot is registered in dev.botframework.com, and you want to migrate it to Azure, but are having issues migrating your bot, it might be because the bot belongs to a directory other than your default directory. Führen Sie die folgenden Schritte aus:Try these steps:

  1. Fügen Sie im Zielverzeichnis einen neuen Benutzer hinzu (über die E-Mail-Adresse), der kein Mitglied des Standardverzeichnisses ist, und weisen Sie dem Benutzer die Rolle „Mitwirkender“ für die Abonnements zu, die das Ziel der Migration sind.From the target directory, add a new user (via email address) that is not a member of the default directory, grant the user contributor role on the subscriptions that are the target of the migration.

  2. Fügen Sie im Entwickler Portaldie e-Mail-Adresse des Benutzers als Mitbesitzer des bot hinzu, der migriert werden soll.From Dev Portal, add the user's email address as co-owners of the bot that should be migrated. Melden Sie sich anschließend ab.Then sign out.

  3. Melden Sie sich beim Entwicklerportal als der neue Benutzer an, und fahren Sie mit der Migration des Bots fort.Sign in to Dev Portal as the new user and proceed to migrate the bot.

Wo finde ich weitere Hilfe?Where can I get more help?

  • Nutzen Sie die Informationen in den bereits beantworteten Fragen auf Stack Overflow, oder stellen Sie eigene Fragen unter Verwendung des botframework-Tags.Leverage the information in previously answered questions on Stack Overflow, or post your own questions using the botframework tag. Beachten Sie, dass Stack Overflow bestimmte Anforderungen an die Erstellung von Fragen stellt. Dazu gehören beispielsweise ein beschreibender Titel, eine vollständige und prägnante Erläuterung des Problems sowie ausreichend Informationen, mit denen das Problem nachvollzogen werden kann.Please note that Stack Overflow has guidelines such as requiring a descriptive title, a complete and concise problem statement, and sufficient details to reproduce your issue. Featureanforderungen oder zu weit gefasste Fragen sind nicht angemessen. Neue Benutzer sollten sich die Informationen im Stack Overflow-Hilfecenter ansehen.Feature requests or overly broad questions are off-topic; new users should visit the Stack Overflow Help Center for more details.
  • Informationen zu bekannten Problemen mit dem Bot Framework SDK finden Sie in den BotBuilder-Problemen auf GitHub. Dort können Sie auch ein neues Problem melden.Consult BotBuilder issues in GitHub for information about known issues with the Bot Framework SDK, or to report a new issue.
  • Nutzen Sie die Informationen in der Diskussion der BotBuilder-Community auf Gitter.Leverage the information in the BotBuilder community discussion on Gitter.