애플리케이션 간 세션 공유: ASP.NET 세션 상태 서비스 활용
소개
웹 애플리케이션은 사용자가 자신의 정보와 기본 설정에 원활하게 액세스할 수 있도록 여러 애플리케이션 간에 세션 데이터를 공유해야 하는 경우가 많습니다. 이 문서에서는 ASP.NET 세션 상태 서비스를 활용하여 동일한 서버에서 호스팅되는 두 개의 서로 다른 웹 응용 프로그램 간에 세션 공유를 달성하는 방법을 살펴봅니다.
.NET 2.0과 MVC2 애플리케이션 간 세션 공유
.NET 2.0 Web Forms 애플리케이션과 .NET 3.5 MVC2 애플리케이션 간에 세션을 공유하려는 초기 시도는 Web Forms 애플리케이션의 세션 키를 MVC 애플리케이션에 게시하는 것이었습니다. 그러나 이 접근 방식은 MVC 애플리케이션에서 세션을 로드할 수 없다는 문제가 있습니다.
해결책: SQL Server의 기본 세션 상태 및 공유 컴퓨터 키 사용
이 문제를 극복하려면 두 애플리케이션 모두 SQL Server에 저장된 기본 .NET 세션 상태를 사용해야 합니다. 또한 공유 컴퓨터 키는 응용 프로그램이 세션 데이터를 일관되게 암호화하고 해독할 수 있도록 보장하는 데 사용됩니다.
Web.config 구성
두 애플리케이션의 web.config 파일에서 다음과 같이 세션 상태를 구성합니다.
<code class="language-xml"><sessionstate mode="SQLServer" sqlconnectionstring="..."></sessionstate> <machinekey decryption="AES" validation="SHA1" validationkey="SOMEKEY"></machinekey></code>
데이터베이스 구성
두 애플리케이션 모두에 액세스할 수 있는 SQL Server 인스턴스에 필요한 세션 상태 데이터베이스를 만듭니다. aspnet_regsql.exe 명령을 실행하여 데이터베이스를 초기화합니다.
저장 프로시저 수정
세션 상태 데이터베이스의 TempGetAppID 저장 프로시저를 약간 수정했습니다.
<code class="language-sql">SET @appName = LOWER(@appName)</code>
결과
SQL Server에 저장된 기본 세션 상태를 사용하고 컴퓨터 키를 공유함으로써 두 애플리케이션 모두 동일한 세션 데이터에 액세스할 수 있습니다. 이를 통해 애플리케이션 간에 세션 정보를 원활하게 공유할 수 있습니다.
위 내용은 ASP.NET 세션 상태 서비스는 어떻게 애플리케이션 간 세션 공유를 활성화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!