재우니의 블로그

이태원 참사에 대한 깊은 애도를 표합니다. 티스토리측에서도 공지했듯 이태원 참사 관련으로 콘텐츠를 생산하는분이 없기를 바랍니다.

반응형

 

 

asp.net webform  에서 잘못된 경로로 사용자가 호출할 경우, 이를 분기해 주는 곳은 web.config 도 있지만, 잘못된 특정 경로마다 다르게 이동시키기위해서 코드로 구현하고자 할 때는 global.asax 에서 사용하는게 좋다.

 

protected void Application_Error(object sender, EventArgs e)
{
 Exception exc = Server.GetLastError();

 // 페이지가 없을 경우,
 if (exc.GetType() == typeof(HttpException))
 {
  //사용자가 이전의 페이지경로를 호출할 경우,
  if (exc.Message.ToLower().Contains("/deskpluseip/33/board/list.aspx") == true)
  {
   //변경된 페이지로 이동하자.~~
   Response.Redirect("/DeskPlusEIP/EIP/DeskPlusEPDefault.aspx");
  }
 }            

 //서버에서 나온 오류 화면은 보안상 깔끔히 지우장.~~
 Server.ClearError();
}


 

 

잘못된 경로를 호출 시, Application_Error 이벤트 함수에서 이를 취급하여, exception 인지 체크 후 에러메시지 안에 사용자가 잘못 기재한 경로를 비교해서 원하는 변경 페이지로 redirect 하는 구문이다.

 

참고 자료 : https://msdn.microsoft.com/en-us/library/24395wz3(v=vs.100).aspx

 

 

 

 

 

반응형

댓글

비밀글모드