C#Bot框架-未找到资源错误
我已经使用bot框架构建了一个小型的基本web bot应用程序,并希望将其部署到Azure上。我已经完成了所有的步骤,在Azure Portal的“Web聊天测试”下也可以正常工作,但是当我打开我的机器人的端点时 我听到一个错误说C#Bot框架-未找到资源错误,c#,asp.net,botframework,chatbot,C#,Asp.net,Botframework,Chatbot,我已经使用bot框架构建了一个小型的基本web bot应用程序,并希望将其部署到Azure上。我已经完成了所有的步骤,在Azure Portal的“Web聊天测试”下也可以正常工作,但是当我打开我的机器人的端点时 我听到一个错误说 The requested resource does not support http method 'GET' 谁能帮帮我,我根本无法调试我的应用程序。我也在emulator上进行了测试,它也工作得很好。是的,URL只适用于POST请求,而不是GET请求,因为
The requested resource does not support http method 'GET'
谁能帮帮我,我根本无法调试我的应用程序。我也在emulator上进行了测试,它也工作得很好。是的,URL只适用于POST
请求,而不是GET
请求,因为您将用户的消息发布到机器人,而不是GET,您可以在MessagesController
代码中看到这一点
也就是说,如果你想在本地测试你的机器人,你必须使用模拟器。你也可以看一看
现在,如果你想将机器人发布到世界上,以便其他人可以看到并使用它,那么这就是频道的作用所在。将频道视为一种媒介,通过该媒介,您可以让您的BOT为其他用户提供更好的用户体验。
有多个频道可供发布bot,是的,您可以在所有频道中发布相同的bot。只有一个通道,默认情况下已启用,查看方式为:
src
直接到达bot
同样,这只是一个频道。您可以查看文档,了解在Skype、Microsoft团队、电子邮件、Facebook、Slack、Telegrame等更多渠道中启用bot的步骤。如果您检查
消息控制器的代码,您会发现控制器中定义了以下操作:,它只接受POST请求并从请求体读取活动的值,不支持http方法“GET”
/// <summary>
/// POST: api/Messages
/// Receive a message from a user and reply to it
/// </summary>
public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
{
if (activity.Type == ActivityTypes.Message)
{
await Conversation.SendAsync(activity, () => new Dialogs.RootDialog());
}
else
{
HandleSystemMessage(activity);
}
var response = Request.CreateResponse(HttpStatusCode.OK);
return response;
}
//
///帖子:api/Messages
///接收来自用户的消息并回复
///
公共异步任务发布([FromBody]活动)
{
if(activity.Type==ActivityTypes.Message)
{
wait Conversation.sendaync(活动,()=>newdialogs.RootDialog());
}
其他的
{
HandleSystemMessage(活动);
}
var response=Request.CreateResponse(HttpStatusCode.OK);
返回响应;
}
噢,现在我了解了控件在整个应用程序中的流动情况。谢谢,谢谢,成功了。另外,当我加载嵌入式网站时,会话更新类型的新活动不应该被触发吗?我的情况不是这样。只有在我输入内容并且在我的信息发布之前,它才会被解雇。