문제

사용자가 회사를 선택하는 웹 페이지가 있고 그로 인해 세션을 통해 회사 이름을 메모리에 보관하지만 다음 페이지로 이동하면 세션이 5 분만 지속 되나요? 이유와 방법을 해결할 수있는 이유는 Web.config에서 세션 상태를 확장했지만 작동하지 않았습니다.

예 : 세션 ( "CompanyName") = "바이트 기술"

내 web.config에서 나는 가지고있다 : timeout = "40" />

내 세션을 사용하여 Default.aspx에서 CompanyDetail.aspx로 이동합니다 ( "CompanyName")

그러나 CompanyDetail.aspx에서 프로그램이 유휴 상태가되면 세션 상태를 잃습니다.

어떤 아이디어?

에티엔네에 안부

도움이 되었습니까?

해결책 8

모든 정보에 대해 모두에게 감사드립니다. 내 사이트를 호스팅하는 회사는 응용 프로그램 풀의 시간을 연장했습니다.

감사합니다 Etiennehttp://www.rerate.co.za

다른 팁

귀하의 의견에서 귀하의 사이트가로드 밸런싱 서버 팜에 있다고 생각합니다.

이 경우 세션을 DB에 저장하거나 사용하지 않아야합니다. Postback을 수행 할 때마다 동일한 서버가 동일한 사용자에게 서비스를 제공하고 사용자가 서버 "A"A "B로 이동하는 경우 B를 확인할 수 없습니다. "두 개의 다른 게시물에서 ... 세션 변수가 손실됩니다.

"SessionState Database"에 대한 Google 검색을 시도하면 많은 것들이 있습니다.

도움이 되었기를 바랍니다

안드레아

몇 가지 질문 :

  • 시간 초과 시간은 항상 동일합니까? 5 분?
  • 귀하의 사이트가로드 밸런싱 서버 팜에서 실행 중입니까? 둘 이상의 프론트 엔드 서버가 있습니까?
  • 세션과 세션 스테이트와 관련하여 Web.confing에서 무엇을 말하고 있습니까?

하중 균형 농장을 사용하지 않고 실제로 공유 호스팅을 사용하고 있습니다.

로드 밸런스 팜에서 코드는 여러 서버에 배포되며 스티비 세션이 비활성화 된 경우 사용자는 각 요청에 가장 적은로드로 서버를 사용합니다.

당신이 제 3 자 호스팅을 사용하고 있기 때문에, 나는 당신이 그렇게하고 있다는 것을 의심합니다.

세션 타임 아웃은 호스트 제공 업체가 IIS의 하드셋 일 수 있으며 가장 가능성이 높은 범인은이를 5 분으로 설정했다는 것입니다.

호스트 제공 업체에 전화하여 IIS 세션 설정이 무엇인지 물어보고 그곳에서 가십시오.

IIS에서 웹 사이트의 속성으로 이동하여 홈 디렉토리 탭을 클릭 한 다음 구성 버튼을 클릭하십시오. 여기에서 옵션 탭을 클릭하고 세션 시간 초과를 확인하십시오. 나는 이것이 클래식 ASP에만 영향을 미친다고 확신하지만 100% 확실하지 않습니다.

항상 5 분에 발생하는 경우 세션 설정에 대해 web.config를 확인하고 IIS : 웹 사이트/속성/asp.net을 확인하고 구성 편집을 클릭하고 상태 관리 탭을 선택하고 세션 설정을 확인하십시오.

서버에 바이러스 백신이 5 분마다 5 분마다 재설정 될 수있는 일부 바이러스 백신이있을 수 있으며 ASP.NET 런타임은 Binaries 또는 Web.Config가 변경되었다고 생각합니까? 그것은 또한 가능합니다.

또 다른 아이디어는 컴퓨터 이름을 페이지의 주석에 넣고 요청을 처리하는 서버가 변경되어 있는지 확인하기 위해 페이지마다 변경되는지 확인하는 것입니다.

세션 변수를 사용하여 스크랩하기로 결정하고 쿼리 문자열로 갔다 !! 훨씬 낫다!!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top