2013-10-09 2 views
1

Я поддерживаю приложение MVC4 и должен отключить проверку запроса для тестирования.Почему я не могу отключить проверку запроса?

Я сделал следующее Web.config

<pages validateRequest="false"> 
<httpRuntime requestValidationMode="2.0"/> 

При попытке ввода HTML или сценарий, он по-прежнему проверять входные и бросает ошибку «»

Я не имею [ValidateInput] с моими действиями , [ValidateInput] есть ли по умолчанию? Я попытался, если я положил [ValidateInput(false)], он игнорирует проверку.

Есть ли способ заставить его игнорировать валидацию без помещения [ValidateInput(false)] с действиями?

ответ

2

Вы можете добавить этот атрибут в свою конфигурацию глобального фильтра, но убедитесь, что он выполняется только в режиме DEBUG. в вашем FilterConfig.cs, просто сделать

public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
{ 
    //filters.Add(new HandleErrorAttribute()); 
    #if DEBUG 
    filters.Add(new ValidateInputAttribute(false)); 
    #endif 
} 
+0

отличным решения :) Просто, чтобы гарантировать, что я могу оставить этот код, как это даже в производстве, и он будет работать только тогда, когда я отладку. Также я могу добавить другой условный код для работы в производстве или постановке и некоторые биты только для работы на локальном компьютере? Спасибо – Toubi

+1

да, вы можете оставить его даже в ПРОИЗВОДСТВЕ, что-либо между строк #if DEBUG игнорируется при создании вашего решения с использованием конфигурации Release. – Duy

+0

Извините, что вас беспокоит, что называется? Я имею в виду #if DEBUG есть другие разделители, такие как DEBUG, просто хотите исследовать их. – Toubi

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