首页 文章

Bot Framework V3的最新项目模板和仿真器引发500内部服务器错误

提问于
浏览
0

我使用最新的Bot应用程序模板创建了一个项目(http://aka.ms/bf-bc-vstemplate

我确保按照“入门”页面(http://docs.botframework.com/en-us/csharp/builder/sdkreference/gettingstarted.html)中的确切步骤安装了Visual Studio 2015(社区版)和nuget软件包的最新更新

我也遵循这些步骤,因为我在本地测试它:

当使用本地运行的机器人模拟器时,您需要为您的机器人设置的Url设置localhost:从最后一步拉出 . 注意:使用Bot应用程序模板时,需要在URL中添加路径“/ api / messages” . 清空MicrosoftAppId字段清空MicrosoftAppPassword字段

在VS 2015中运行Bot App项目后,我对最新的模拟器(https://aka.ms/bf-bc-emulator)做了一个非常基本的测试 . 当我在模拟器中发送"Typing"活动时,我收到了"500 Internal Server Error { "消息":"发生了错误 . " }" .

但是,当我对BotAuthentication注释发表评论时

//[BotAuthentication]

在模拟器中发送“打字”活动会发送“200 OK”响应 . 不幸的是,当我在模拟器中键入“Hello”这样的单词时,我收到“500 Internal Server Error {”消息“:”发生错误 . “}” .

知道为什么会这样吗?

请注意,除了对BotAuthentication批注发表评论之外,我没有对默认项目进行任何代码更改 .

模拟器的版本是3.0.0.54

UPDATE: 模拟器显示后,我在VS输出窗口中看到 Exception thrown: 'System.MissingMethodException' in mscorlib.dll 消息"500 Internal Server Error { "消息":"发生了错误 . " }" .

UPDATE

所以我在不同的机器(Windows 8.1)中尝试了精确的设置,因为我正在使用的机器是Win10评估版 . 猜猜是什么,它就像一个魅力...所以我想这是一个操作系统问题,或者GAC搞砸了?

2 回答

  • 1

    我遇到了同样的问题,我通过在 Post 方法中放置 try Catch 块来解决问题 . 弹出实际错误

    解决Bot Id时出错

    我只是在我的机器人中添加一个web配置条目,如下所示,它开始工作

    <add key="BotId" value="your app id"></add>
    
  • 2

    检查以下NuGet包使用的版本:

    • Microsoft.Rest.ClientRuntime - 1.8.2

    • Newtonsoft.Json - 8.0.3

    • System.IdentityModel.Tokens.Jwt - 4.0.2.206221351

    当我将其中任何一个升级到更高版本时,我在模拟器中运行时看到500错误 .

    我还必须将我的bot的安全信息添加到Web.config中 .

    <add key="BotId" value="<put your BotId here>" />
    <add key="MicrosoftAppId" value="<put your AppId here>" />
    <add key="MicrosoftAppPassword" value="<put your AppPassword here>" />
    

    您需要将安全信息添加到通道模拟器中 .

相关问题