2014-01-28 3 views
6

Я разрабатываю решение для веб-API для авторизации, мы каждый способ управления контроллером оформляем класс BasicHttpAuthorizeAttribute с наследованием от AuthorizeAttribute.WEB API OnAuthorization вызывается дважды

public class BasicHttpAuthorizeAttribute : System.Web.Http.AuthorizeAttribute

Для каждого запроса, я вижу OnAuthorization метод вызывается дважды. когда я проверяю столбец, весь запрос выполняется с помощью одного потока/processId. Я использую UnityContainer. Я зарегистрировался на Custom Authorize в WebApiConfig.cs. Пожалуйста, дайте мне знать причину вызова дважды.

+0

У вас есть запрос на предварительный просмотр CORS? – zapoo

+0

Вы когда-нибудь решали это? Имеет очень схожую проблему. – DevEng

ответ

0

Если вы зарегистрируете фильтр в webapiconfig.cs, он будет запущен для каждого входящего запроса. Если вы украшаете действие фильтром, оно будет работать для этого действия. Поскольку вы зарегистрировали фильтр и украсили действие, он будет работать два раза.

+0

Ну, я испытываю ту же проблему, и мой фильтр используется только для украшения действия. Не зарегистрирован на моем webapiconfig.cs, поэтому я не уверен .... –

+0

К сожалению, мне нужна дополнительная информация. Он украшает только действие или контроллер? У вас есть какое-либо наследование (для контроллера или фильтра)? Какой фильтр (авторизация, аутентификация, действие)? –

+1

Это просто действие. Но я нашел несколько сообщений, предлагающих переопределить свойство AllowMultiple для возврата false, и это сработало для меня. –

Смежные вопросы