Вы не понимаете, что такое «неопределенное поведение», и я не могу винить вас, учитывая, что это часто плохо объясняется. Вот как стандарт определяет неопределенное поведение, раздел 3.27 в intro.defs:
поведение, для которого этот документ не предъявляет никаких требований
blockquote>Вот и все. Ни меньше, ни больше. Стандарт можно представить как ряд ограничений, которым должны следовать поставщики компиляторов при создании допустимых программ. Когда есть неопределенное поведение, все ставки выключены.
Некоторые люди говорят, что неопределенное поведение может привести к тому, что ваша программа порождает драконов или переформатирует ваш жесткий диск, но я считаю, что это немного бессмысленно. Более реалистично, что-то вроде выхода за пределы границ массива может привести к ошибке сегмента (из-за запуска ошибки страницы). Иногда неопределенное поведение позволяет компиляторам выполнять оптимизацию, которая может неожиданно изменить поведение вашей программы, так как нет ничего, что компилятор не может .
Дело в том, что компиляторы не «генерируют неопределенное поведение». Неопределенное поведение существует в вашей программы.
Я имел в виду, что если у GCC есть замечательная функция (в частности, математика для недействительных указателей), которая в настоящее время не названа, мы можем дать ей имя, а затем потребовать его и в будущих версиях.
blockquote>Тогда это будет нестандартное расширение, и можно ожидать, что оно будет задокументировано. Я также очень сомневаюсь, что такая функция будет востребована, учитывая, что она не только позволит людям писать небезопасный код, но и будет чрезвычайно трудно создавать переносимые программы.
Вы могли использовать HTTPHandler вместо HTTPModule. Обработчики позволяют Вам указать путь, когда Вы объявляете их в сети. Конфигурация.
<add verb="*" path="/validate/*.aspx" type="Handler,Assembly"/>
, Если необходимо использовать HTTPModule, Вы могли бы просто проверить путь запроса и если это - чтобы быть исключенным, обойдите проверку.
HttpModules подключают к самому конвейеру обработки запросов ASP.NET. Сам httpModule должен заботиться о выяснении, которое запрашивает, чтобы это хотело действовать на и который запрашивает, чтобы это хотело проигнорировать.
Это может, например, быть достигнуто путем рассмотрения контекста. Запрос. Свойство Path.