Reputation: 101
I have developed a bot using the Microsoft Bot Framework in C#, and am in the process of trying to deploy it to a web server instead of Azure. The web server runs Windows Server 2012 R2, and has IIS 8.5 installed. The bot works fine locally, and can be tested there using the emulator without any problems.
I have configured a site in IIS on the web server for the bot and deployed the bot code there, as well as configured the app ID and password. When using the "test connection" facility on the Bot Framework site, I am given an "endpoint authorisation succeeded" message. However when attempting to test it using the emulator (or the chat facility built in to the portal site) I do not receive any replies, and in the emulator all responses are shown as internal server errors.
I have ngrok running in the background to forward the connections to my development machine, and have updated the emulator URL field to contain the URL indicated in ngrok's "forwarding" section. However the list of HTTP requests in ngrok's console window does not populate when I am trying to conduct a chat.
I have tried to use this previous solution to get more details about whatever internal server error may be occurring, but after deploying this code I receive a stack trace. Again, this works fine locally and can be tested with the emulator without any issues.
Can anybody advise on where I may be going wrong, or share their experiences with debugging these kinds of errors? Bot Framework does not seem to provide a terribly good debugging experience unfortunately.
Upvotes: 0
Views: 426
Reputation: 101
In this case, the problem was resolved by upgrading the server to run the latest available version of the .NET Framework (4.6.2). 4.5 was installed, and this is not compatible with Bot Framework.
Upvotes: 0
Reputation: 193
Try setting the endpoint URL in the emulator to the actual bot endpoint (same URL you provided in the dev portal). The emulator is able send messages directly to your bot. The ngrok URL is for tunneling replies from your bot back to the emulator.
Upvotes: -1