Welcome to TechNet Blogs Sign in | Join | Help

Изменение страницы Unhandled Exception (/_layouts/error.aspx)

В продолжение темы про интернет сайты создаваемые на MOSS 2007 и необходимость замены всех страниц, которые только могут увидеть пользователи, я покажу как можно переопределить стандартную страницу отображения ошибок error.aspx

Речь идет про переопределение вот этой, знакомой всем, страницы:

Переопределние производится в три шага:

1. Разработать IHttpModule и перекрыть событие Error

2. Создать страницу myerrorpage.aspx в папке 12\Template\Layouts. Создать можно скопировав и переименовав error.aspx

3. В web.config в секции httpmodules объявить модуль:

 <httpModules>
   <
clear />
   <
add name="ExceptionEventHandler" type="MyProject, MyProject.ExceptionEventHandler,
      Version=1.0.0.0, Culture=neutral,PublicKeyToken=34a2bd01f6f6eb10
" />

Ниже приведен код модуля: 

using System;

using System.Web;

using System.Web.UI;

namespace MyProject

{

/// <summary>

/// Модуль для переопределения страницы Unhandled exception

/// </summary>

public class ExceptionEventHandler : IHttpModule

{

public void Init(HttpApplication context)

{

context.Error += new EventHandler(context_Error);

}

void context_Error(object sender, EventArgs e)

{

Exception[] unhandledExceptions = HttpContext.Current.AllErrors;

foreach (Exception ex in unhandledExceptions)

{

// логировать ошибки

}

HttpContext.Current.Server.ClearError();

HttpContext.Current.Response.Clear();

HttpContext.Current.Server.Transfer("/_layouts/myerrorpage.aspx");

}

public void Dispose()

{

}

}

}

Published Wednesday, January 21, 2009 9:22 PM by tvsmetanina

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# Отлично

Увлекательно пишете, жизненно. Все-таки, для того, чтобы делать интересный блог, нужно не только просто сообщать о чем-то, но и делать это в интересной форме:)

Tuesday, April 07, 2009 7:11 PM by Ростислав

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker