2011-12-08 1 views
0

ASP.net & C#에서 개발 된 웹 응용 프로그램이 있습니다. 웹 UI 용 Telerik ASP.NET AJAX도 사용합니다. 세션 타임 아웃은 다음과 마스터 페이지에서 처리됩니다포스트 백 동안 세션 세션 제한 처리

public partial class Master: System.Web.UI.MasterPage 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
    if (Session["UserName"] == null) 
     Response.Redirect("~/Login.aspx"); 
} 

내가 세션 타임 아웃 후 페이지를로드하려고하면이 잘 작동합니다. 하지만 포스트 백을 수행하려고하면 NullReferenceException이 발생합니다.

세션 시간이 초과되고 다시 게시하는 동안 로그인 페이지로 리디렉션 할 수있는 방법이 있습니까? 또는이 시나리오를 처리하는 방법?

답변

1

if(Session.IsNew)을 사용하는 것은 하나의 접근 방법입니다.

2

이 시나리오는 global.asax에서 session_start 이벤트를 사용하여 처리해야합니다. 세션 시간 초과 후 사용자가 다시 한 번 포스트 백을 일으키면 Session_Start() 이벤트가 발생하기 때문입니다.

로직을 넣을 수있는 방법은 here입니다.

+0

페이지로드시 작동합니다. 포스트 백에 대해서는 작동하지 않습니다! –