와일드카드 매핑을 사용할 때 ASP.NET 양식 인증 시간 초과에 대한 가장 좋은 해결 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/57739

문제

우리 팀은 형편없는 오래된 웹사이트를 작업하고 있는데 대부분의 페이지는 여전히 ASP 클래식입니다.그러나 최근에는 ASP.NET 및 와일드카드 매핑을 사용하는 양식 인증으로 마이그레이션했습니다.한 가지를 제외하면 모든 것이 놀랍게도 잘 작동합니다.로그인한 사용자의 시간이 너무 빨리 초과됩니다.로그를 살펴본 후 사람들은 정확히 20분(비활성으로 인해 지정된 시간 초과) 후에 시간 초과되는 것으로 나타났습니다.

따라서 우리의 가설은 ASP 클래식 페이지가 비활성 타이머를 재설정하는 양식 인증 프레임워크의 메커니즘을 작동시키지 않는다는 것입니다.나는 주변을 검색하고 Great Gu의 와일드카드 매핑 게시물을 읽었지만 여전히 이 문제를 겪고 있는 다른 사람을 찾을 수 없습니다.1) 이 문제를 본 적이 있나요?2) 가장 좋은 해결 방법은 무엇입니까?(백그라운드에서 멍청한 .NET 페이지를 로드하는 버벅거리는 모든 ASP 페이지에 숨겨진 프레임을 수동으로 배치하는 것 제외)

업데이트: 슬라이딩만료 로 설정되어 있습니다 진실

또한:20분 동안 활동이 없으면 애플리케이션이 시간 초과되도록 해야 하므로 영구 세션을 사용할 수 없습니다.또한 이 끔찍한 사이트는 인터페이스가 대개 페이지에 저장되도록 작성되었습니다.JavaScript를 삽입할 수 있는 간단한 인터페이스 코드는 없습니다.우리는 페이지의 약 80%에서 호출되는 포함 파일에 일부 js를 넣으려고 했지만 이로 인해 파일 다운로드 버퍼에 몇 가지 난해한 문제가 발생하여 다른 방법을 시도해야 할 수도 있습니다.감사해요.

도움이 되었습니까?

해결책

영구 세션을 생성합니다.

기본적으로 마스터 페이지 또는 탐색 사용자 컨트롤(일관된 탐색을 위해 사용하는 모든 것)에서 일부 JavaScript 및 이미지 태그를 내보내게 됩니다.일정 간격으로 이 JavaScript는 이미지 태그의 소스를 이미지에 대한 응답으로 1x1 pix 투명 gif를 반환하는 http 처리기 끝점(일부 .aspx, .ashx)으로 변경합니다.지속적인 요청은 유휴 페이지가 세션을 계속 유지하도록 보장합니다.

브라우저 창이 페이지에 열려 있는 한 ASP.NET 세션은 시간 초과되지 않습니다.

종종 JavaScript는 브라우저가 요청을 캐시하지 않도록 요청에 임의의 숫자를 추가합니다.

괜찮은 연습이 가능합니다 여기.

다른 팁

쿠키를 수동으로 생성했다고 가정합니다. 이 경우 코드의 시간 초과 값이 구성의 시간 초과 값을 재정의할 수 있습니다.

첫째, 가능하다면(아마도 그렇지 않을 것입니다) 쿠키를 수동으로 생성하지 마십시오. 이렇게 하면 이 골치 아픈 일뿐만 아니라 다른 수십 가지 문제로부터도 벗어날 수 있습니다.

쿠키를 수동으로 생성해야 하는 경우 사용 중인 제한 시간이 실제로 구성 파일에 설정한 제한 시간 값을 읽고 슬라이딩 만료가 true로 설정되어 있는지 확인하세요.

즉, 쿠키를 수동으로 생성할 때 여전히 가끔 이상한 시간 초과 문제가 발생합니다.제가 일하는 곳에서는 쿠키가 자동으로 생성되고 시간 초과가 더 이상 문제가 되지 않는 솔루션을 구현했습니다.그러나 다른 문제가 발생하여 강제로 다시 전환해야 했습니다.

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