【问题标题】:Bot Framework sending OPTIONS messageBot Framework 发送 OPTIONS 消息
【发布时间】:2019-03-03 15:59:11
【问题描述】:

最近,我收到了来自机器人框架的 Application Insights 中记录的 405 条响应消息,这些消息与正在发送的“OPTIONS”消息有关。

我的服务应该如何响应这些?

这些请求是谁提出的?

【问题讨论】:

    标签: botframework bots azure-bot-service


    【解决方案1】:

    对不起,如果您看到我之前的回答;它完全脱离了基础,所以我羞愧地删除了它。

    您提到的请求是 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)
    

    【讨论】:

    • 谢谢!这很有道理!
    • 您将如何在 Bot Framework v4 中执行此操作,因为在迁移到 v4 后问题又出现了。
    猜你喜欢
    • 2021-04-30
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多