2012-06-14 2 views
1

У нас есть метод контроллера, который вызывается дважды. В первый раз, когда он называется, мы получаем правильные параметры, второй раз, когда он вызывается, мы не получаем никаких параметров, а MVC-движок генерирует исключение, потому что аргументы метода не могут быть нулевыми.ASP.NET MVC Метод, вызываемый дважды

Мы видели это поведение раньше, когда использовали определенные версии Safari, и это связано с аутентификацией. При использовании проверки подлинности Windows, если для свойств аутентификации в IIS были заданы переговоры и NTLM, вызов ajax будет отправляться один раз для каждого. Исправить это было удаление одного (я думаю, мы просто оставили его как NTLM). Это не так, поскольку мы используем аутентификацию форм здесь.

Мы также видели подобное поведение при вызове методов WCF, возвращающих типы, которые были получены и не использовали атрибуты KnownType в родительском классе.

Мы не можем воспроизвести это с успехом (это происходит нечасто на машине для клиентов) и ищут любые общие ошибки.

+2

Не могли бы вы показать код вызова javascript, который выполняет запрос AJAX? –

+0

стандартный запрос jQuery ajax .. (теперь у меня нет кода передо мной) –

+0

Не могли бы вы продолжить и получить код перед собой и разместить его здесь? –

ответ

0

Причина, по которой вызов вызывается дважды, вызвана ошибкой в ​​Safari при работе с аутентификацией Windows под IIS. Перейдите к настройкам проверки подлинности вашего веб-сайта. Щелкните правой кнопкой мыши на Windows Authentication, выберите поставщиков и удалите Negotiate, оставив NTLM, который работает нормально. Я не тестировал Kerberos.

Этот вопрос появляется только в некоторых сборках сафари.

+0

Случайно из будущего, но в вашем первоначальном вопросе вы сказали, что используете проверку подлинности на основе форм, но ваш ответ касается проверки подлинности Windows. Означает ли это, что проверка подлинности Windows IIS может повлиять на проверку подлинности форм. Я отследил нашу проблему только до IE8, но поскольку она не влияет на пользователей, я не потратил на нее много ресурсов. Слушайте, чтобы увидеть мой «избранный» список вопросов и что у этого есть ответ. Любые дополнительные знания, которые вы получили в формах auth, были бы наиболее желанными. – Tommy

+0

@Tommy никакого взаимодействия, которое я знаю между формами и окнами auth в IIS. Сожалею. –

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