2012-01-17 4 views
3

다음 단계를 통해 IIS의 시간 제한 값을 구성 할 수 있지만 그 차이점은 무엇인지 알고 있습니다. 또한 web.config 파일의 ASP.NET 세션 상태 및 CookieTimeout 값은 구성 편집기에서 볼 수 없으므로 기본적으로 설정됩니다. 그렇다면 web.config 파일을 어떻게 변경해야하며 다른 시간 초과 변경에 어떤 영향을 미치나요?IIS 기본 시간 제한

단계

  1. 세션 타임 아웃은 기본적으로 20 분. 이 값은 응용 프로그램 풀, ASP, ASP.NET 세션 상태, CookieTimeout 등의 여러 설정의 영향을받습니다.
  2. IIS 관리자를 열고
  3. 응용 프로그램 풀 -> 고급 설정 -> 프로세스 모델 - 분> 유휴 설정 시간 제한
  4. 사이트 -> your-website-domain.com -> ASP -> 세션 속성 - > 제한 시간은 변경 적용
  5. 사이트 -> your-website-domain.com -> 구성 편집기 -> system.web/sessionState의 -> 설정 시간 초과 값이 다음 변경
  6. 사이트 적용 -> 당신의-웹 사이트를 -domain.com -> 구성 편집기 -> system.web/roleManager => 쿠키 시간을 설정 한 다음 변경 적용

답변

5

응용 프로그램 풀 시간 종료가 만료되면 응용 프로그램 풀이 재활용됩니다. 기본 InProc 세션 저장소를 사용하는 경우 제한 시간이 만료되면 모든 세션이 손실됩니다. 일반적으로 누군가가 응용 프로그램에서 페이지를 요청할 때마다 시간 초과가 재설정됩니다.

세션 상태 시간 초과는 세션 저장소의 세션 만료입니다. 이 시간 초과가 만료되면 세션 정보가 세션 저장소에서 제거되고 Session_End가 호출됩니다. here에서 찾을 수있는 요소에 대한 설명서를 참조하십시오.

언급 한 쿠키 시간 제한은 역할 관리자가 쿠키에 사용자 역할을 캐시하는 데 사용하는 쿠키의 만료입니다. cacheRolesInCookie 속성도 true로 설정해야 효과가 발생합니다. 기본값은 false입니다. 설명서 here을 참조하십시오.

기본적으로 세션 상태 또는 쿠키 시간 초과가 구성 파일에 포함되어 있다고 생각하지 않지만 구성 파일을 생성 한 내용에 따라 달라집니다. 세션을 더 오랫동안 열어 놓으려는 경우 사이트에 충분한 양의 트래픽이있어 응용 프로그램 풀이 재활용되지 않도록해야합니다 (한 페이지에 20 분 간격으로 히트하는) 만 있으면 system.web/sessionState를 설정하면됩니다. 앱 풀 재활용에 대한 다른 이유가 있기 때문에 InProc 이외의 다른 저장 메커니즘 중 하나를 사용하는 것이 좋습니다. 인증 공급자 중 하나를 사용하는 경우 추가 시간 초과가있을 수 있습니다. 나는 폼 인증이 당신이 설정하기를 원하는 타임 아웃을 가지고 있다는 것을 안다.

+0

감사합니다. 나는 "당신이 의미하는 바를 따르지는 않지만"설정 파일을 생성 한 것에 달려 있습니다. " 또한 세션을 더 오래 열어두기를 원할 때 "응용 프로그램 풀을 유지하기에 충분한 트래픽이 사이트에 있어야만 system.web/sessionState를 설정하면됩니다. 재활용 (20 분마다 한 페이지 히트) ". – PeanutsMonkey

+0

Visual Studio 웹 프로젝트는 프로젝트의 Web.config 파일을 생성합니다. 다양한 버전의 Visual Studio에서 생성 된 파일에는 약간의 차이점이 있습니다. 아마도 Web.config 파일을 생성하는 다른 도구가있을 수 있습니다. –

+0

시스템.web/sessionState 구성 항목은 세션 기간 동안의 주요 제어 지점입니다. 세션이이 설정에 따라 만료되기 전에 손실되는 경우이 설정 때문이 아니라 오히려 IIS에 의해 세션 상태가 손실 되었기 때문입니다. 일반적으로 응용 프로그램 풀이 재생 된 후 작업자 프로세스가 다시 시작되기 때문에 세션이 손실되지만 작업자 프로세스가 종료되는 다른 이유가 있습니다. –