Bot Framework отправляет сообщение ОПЦИИ - PullRequest
0 голосов
/ 27 сентября 2018

Недавно я получил 405 ответных сообщений, зарегистрированных в Application Insights от платформы бота, относящихся к отправляемому сообщению "OPTIONS".

Как мой сервис должен реагировать на них?

Кто делает эти запросы?

1 Ответ

0 голосов
/ 28 сентября 2018

Извините, если вы увидели мой предыдущий ответ;это было полностью вне базы, поэтому я удалил его с позором.

Упомянутые вами запросы выполняются 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);
        }
    }

Затем в контроллере сообщений:

[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)
...