DJ메탈짱™의 Free Style

[ASP.NET] SqlServer 또는 StateServer 세션 모드를 사용하는 경우 웹 팜에서 세션 상태가 손실된다 본문

일(job)/MS(Microsoft)

[ASP.NET] SqlServer 또는 StateServer 세션 모드를 사용하는 경우 웹 팜에서 세션 상태가 손실된다

뽀&쏭 2020. 12. 25. 15:48

<현상>
SqlServer 또는 StateServer 세션 상태 모드를 사용하는 경우 로드 균형 조정된 환경에서 ASP.NET 응용 프로그램을 실행하면 세션 상태가 손실될 있습니다.

<원인>

팜의 여러 서버에서 세션 상태를 유지하려면 Microsoft 인터넷 정보 서비스(IIS) 메타베이스에서 사이트의 응용 프로그램 경로(: \LM\W3SVC\2) 팜의 모든 서버에서 동일해야 합니다. 응용 프로그램 경로는 /소문자를 구분하므로 /소문자도 같아야 합니다.

서버에서 ASP.NET 응용 프로그램을 호스팅하는 사이트의 인스턴스 ID 2(여기서 응용 프로그램 경로는 \LM\W3SVC\2) 있으며 다른 서버에서 사이트의 인스턴스 ID 3(여기서 응용 프로그램 경로는 \LM\W3SVC\3) 있습니다. 따라서 팜에 있는 서버 간의 응용 프로그램 경로는 다릅니다. 사이트의 응용 프로그램 경로를 확인하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.

240225 (http://support.microsoft.com/kb/240225/) 메타베이스를 수정하는 사용되는 Adsutil MetaEdit 유틸리티에 대한 설명

<해결 방법>

문제를 해결하려면 팜에 있는 모든 서버에 대해 IIS 메타베이스에 있는 사이트의 응용 프로그램 경로를 동기화하십시오. 사이트의 응용 프로그램 경로는 /소문자를 구분하므로 /소문자도 같아야 합니다.

참고 메타베이스를 변경하기 전에 IIS 메타베이스를 백업하는 것이 좋습니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.

302573 (http://support.microsoft.com/kb/302573/) HOWTO: IIS 백업 복원

사이트의 응용 프로그램 경로를 동기화하려면 다음 방법 하나를 사용하십시오.

 

 
참고 StateServer 모드를 사용할 Machine.config 파일의 <machineKey> 구역은 팜에서 같은 키를 갖고 있어야 합니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.

312906 (http://support.microsoft.com/kb/312906/) HOWTO: Visual C# .NET 사용하여 인증에서 사용할 만들기

313091 (http://support.microsoft.com/kb/313091/) HOWTO: Visual Basic .NET 사용하여 Forms 인증에서 사용할 만들기

 

<참고사이트>

http://support.microsoft.com/default.aspx?scid=kb%3Bko%3B325056