none
BasePage 클래스를 이용한 통합 에러 페이지 구축시 RRS feed

  • 질문

  • webconfig 파일에 <customErrors defaultRedirect="~/Error.html" mode="On"></customErrors>

    을 설정해주면 프로젝트 다를 경우 weconfig파일을 수정해주어하는 불편함이 있다고 하더라구요.

    그래서 Basepage Class를 만들고 System.Web.UI.Page 상속 받아서 에러 페이지를 지정하는 모듈을 만든다고 하는대요.

    public class BasePage : System.Web.UI.Page 
    {

        void Page_Error(object sender, EventArgs e)

       {

           Server.Transfer("Error.aspx");       
        }
    }

    BasePage 클래스에 Error.aspx 지정해주고.

    그런대 비주얼 스튜디오에서 파일을 생성하면 기본적으로 System.Web.UI.Page를 상속 받잔아요?

    그럼 매번 BasePage상속로 바꾸어 주여하는대 이게 어떻게 통합 에러 페이지 구축에 더 유리다는 건가요??

    public partial class _Default : System.Web.UI.Page을 매번 BasePage 으로 수정해야함
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            throw new Exception("Error Occured!!!");
        }
    }



    2012년 5월 18일 금요일 오후 12:57

답변

  • "어떻게 유리"하다는 것은, 그때 그때 상황마다 틀릴 것 같습니다.

    일단, 원하시는 것은 web.config 수정은 불편하다는 것이니, Page 상속으로 변경하는 것이 맞겠지요. 일일이 상속받는 불편함이 싫다면, "Item Template"을 만들어서 배포하는 것도 방법입니다.

    Visual Studio - How To Create Item Templates
    ; http://www.switchonthecode.com/tutorials/visual-studio-how-to-create-item-templates


    위와 같이 해주면, "Add" / "New Item..." 단계부터 BasePage를 상속받은 cs 파일이 생성되기 때문에 일일이 고쳐주어야 하는 불편함이 사라집니다.

    2012년 5월 21일 월요일 오전 5:09