Как перенаправить исключение на пользовательскую страницу в IIS 6 для веб-сайта, к которому у меня нет доступа к исходному коду | - PullRequest
0 голосов
/ 21 декабря 2011

У меня есть сайт asp.net, размещенный в IIS 5, и у меня нет доступа к исходному коду, но у меня есть доступ к серверу. Что мне нужно, так это способ на уровне сервера перенаправить пользователя на пользовательскую страницу ошибки, когда возникает исключение типа «SecurityException».

Поскольку я не могу использовать его через глобальный asax, мне было интересно, смогу ли я использовать elmah, чтобы перехватить ошибку и перенаправить ее на определенный URL-адрес вместо регистрации / отправки по почте.

Я тоже открыт для альтернатив ... поэтому, если кто-то знает хитрость сделать это, используя другой подход, я был бы очень признателен.

Спасибо!

С наилучшими пожеланиями, byte_slave

Ответы [ 2 ]

2 голосов
/ 21 декабря 2011

ELMAH регистрирует исключения для вас. Он не будет перенаправлять на определенную страницу. ELMAH настраивается в Web.Config, к которому у вас есть доступ. Вы также можете настроить пользовательскую страницу ошибок в Web.Config.

<customErrors defaultRedirect="url" mode="On">
   <error redirect="PlaceYourUrlHere"/>
</customErrors>

Кстати, у меня когда-то была похожая ситуация (был украден ноутбук с источником). Я взял двоичные файлы с сервера и декомпилировал их. Вы можете попробовать использовать JustDecompile , Reflector , Вот еще один вопрос SO с некоторыми другими вариантами декомпиляции: дизассемблер / декомпилятор .net

После декомпиляции двоичных файлов вы можете собрать вместе файлы проекта и решения. Конечно, предполагая, что двоичные файлы не запутаны или не зашифрованы каким-либо образом. Но это редко делается для веб-приложений, поэтому я бы попробовал.

1 голос
/ 26 декабря 2011

Хорошо. Таким образом, я исправил это, загрузив и скомпилировав исходный код ELMAH, с очень небольшим изменением в коде, чтобы перехватить нужные исключения, а затем он перенаправляет на нужный мне адрес.

...