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

时间:2016-07-09 02:27:45

标签: botframework

我使用最新的Bot应用程序模板(http://aka.ms/bf-bc-vstemplate

创建了一个项目

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

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

  

在本地运行机器人的情况下使用模拟器时,您需要

     

你机器人的url设置了localhost:从最后一个拉出来   步。   注意:需要将路径“/ api / messages”添加到您的URL   使用Bot应用程序模板时。清空MicrosoftAppId   字段清空MicrosoftAppPassword字段

在VS 2015中运行Bot App项目后,我对最新的模拟器(https://aka.ms/bf-bc-emulator)做了一个非常基本的测试。当我在模拟器中发送“打字”活动时,我收到了“500内部服务器错误{ “message”:“发生错误。”}“。

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

//[BotAuthentication]

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

知道为什么会这样吗?

请注意,我没有对默认项目进行任何代码更改,只是对BotAuthentication批注发表评论。

模拟器的版本是3.0.0.54

更新 在模拟器显示“500 Internal Server Error {”message“:”发生错误。“}”后,我在VS输出窗口中看到一个抛出异常:'mscorlib.dll 中的'System.MissingMethodException'。

更新

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

2 个答案:

答案 0 :(得分:2)

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

  

解析Bot Id

时出错

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

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

答案 1 :(得分:1)

检查以下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>" />

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