.NET 애플리케이션에서 프레임워크 간 세션 공유 활성화
문제:
동일한 서버에 배포된 두 개의 웹 애플리케이션(하나는 .NET 2.0에 구축되고 다른 하나는 .NET 3.5(MVC2)에 구축됨)에는 공유 세션 상태가 필요합니다. 동일한 StateServer
모드 및 연결 문자열 구성에도 불구하고 MVC2 애플리케이션은 .NET 2.0 애플리케이션에서 시작된 세션을 검색하지 못합니다.
해상도:
다른 프레임워크를 사용하는 .NET 애플리케이션 간의 직접 세션 공유는 기본적으로 지원되지 않습니다. 중앙 집중식 세션 관리 솔루션이나 데이터베이스 기반 세션 저장소가 필요합니다.
구현:
두 애플리케이션 모두에 액세스할 수 있는 공유 세션 공급자를 사용합니다. 기본 제공 SQL Server 세션 공급자가 적합한 선택입니다. 두 애플리케이션의 web.config
파일을 다음과 같이 구성합니다.
sessionState
구성:<code class="language-xml"><sessionState mode="SQLServer" sqlConnectionString="..." /></code>
machineKey
구성:<code class="language-xml"><machineKey decryption="AES" validation="SHA1" validationKey="..." /></code>
중요하게 두 애플리케이션 모두 동일한 SQL Server 데이터베이스에 연결되어야 합니다. 또한 TempGetAppID
저장 프로시저는 관련 MSDN 문서에 설명된 대로 수정이 필요할 수 있습니다(사용 가능한 경우 문서 링크가 도움이 될 것입니다).
일관적인 machineKey
및 공유 세션 공급자를 사용하면 두 애플리케이션 모두 성공적으로 세션 키를 공유하고 인증 쿠키를 형성할 수 있으므로 다양한 .NET 프레임워크 버전에서 원활한 세션 관리가 가능해집니다.
위 내용은 서로 다른 프레임워크를 사용하는 두 개의 .NET 애플리케이션이 어떻게 세션 상태를 공유할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!