2012-10-21 3 views
1

ASP.NET에서 문제가 발생했습니다. 나는 마스터 페이지에서 드롭 다운리스트를 가지고 있고 나는 아래의 코드를 사용하여 UI 프로젝트 외부의 라이브러리에 접근하고있다 :httpcontext.current.handler.master가 언젠가 null을 반환합니다.

Page page = HttpContext.Current.Handler as Page; 

if (page != null) 
{ 
    return page.Master.FindControl("MyDdl") as DropDownList; 
} 

이 코드는 일반적으로 잘 작동합니다. 그러나 15 ~ 20 분 동안 비활성 상태로 유지 한 다음 포스트 백 (예 : 클릭 버튼, 메뉴 변경 등)이 발생하는 경우가 있습니다. 페이지의 마스터 속성이 null이됩니다. 즉 page.Master이 null을 반환하기 시작합니다. 그런 다음 F5 키를 눌러 페이지를 새로 고치면 다시 작동하기 시작합니다. 나는 또한 Google을 검색했지만 상대적인 답변을 찾지 못했습니다. 아무도 내게 여기서 무슨 일이 일어나는지 안내 해줄 수 있습니까?

답변

2

세션 시간 초과가 발생하여 세션이 종료되었습니다. 세션을 구성 할 수있는 두 곳이 있습니다.

<configuration> 
    <system.web> 
    <sessionState timeout="30"></sessionState> 
    </system.web> 
</configuration> 

또는 두 번째 IIS 관리자 사용 :이 같은 웹 응용 프로그램의 web.config 내부 첫째

응용 프로그램에 대한 기본 속성 탭

이동, 더블 클릭 "세션 상태"에서 탭의 맨 아래에 "시간 제한 (분)"이 있습니다. 또한 세션 상태 저장 영역을 변경하는 다른 옵션이 있습니다.

코드를 사용하여 세션 상태를 확인할 수도 있습니다. 이 기사를 살펴보십시오. http://www.codeproject.com/Articles/227382/Alert-Session-Time-out-in-ASP-Net

해피 코딩!

+0

고마워요. –

관련 문제