【发布时间】:2019-03-03 15:59:11
【问题描述】:
最近,我收到了来自机器人框架的 Application Insights 中记录的 405 条响应消息,这些消息与正在发送的“OPTIONS”消息有关。
我的服务应该如何响应这些?
这些请求是谁提出的?
【问题讨论】:
标签: botframework bots azure-bot-service
最近,我收到了来自机器人框架的 Application Insights 中记录的 405 条响应消息,这些消息与正在发送的“OPTIONS”消息有关。
我的服务应该如何响应这些?
这些请求是谁提出的?
【问题讨论】:
标签: botframework bots azure-bot-service
对不起,如果您看到我之前的回答;它完全脱离了基础,所以我羞愧地删除了它。
您提到的请求是 Azure 在导航到 WebChat 或“设置”选项卡时发出的。要允许调用,您可以创建自定义机器人身份验证类:
public class CustomBotAuthenticationAttribute : BotAuthentication
{
public override Task OnActionExecutingAsync(HttpActionContext actionContext, CancellationToken cancellationToken)
{
if (actionContext.Request.Method.Method == "OPTIONS") // allow OPTIONS through, and do not authenticate
return Task.CompletedTask;
return base.OnActionExecutingAsync(actionContext, cancellationToken);
}
}
然后,在 MessagesController 中:
[CustomBotAuthentication] // Change from [BotAuthentication]
public class MessagesController : ApiController
{
public HttpResponseMessage Options() // handle options
{
return new HttpResponseMessage { StatusCode = HttpStatusCode.OK };
}
public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
【讨论】: