ASP.NET 세션 상태

ASP.NET 세션 상태를 사용하면 사용자가 웹 응용 프로그램을 구성하는 다른 ASP.NET 페이지로 이동할 때 사용자에 대한 값을 저장하고 검색할 수 있습니다. HTTP는 상태 비저장 프로토콜입니다. 즉, 웹 서버에서 페이지에 대한 각 HTTP 요청을 독립적인 요청으로 처리하기 때문에 기본적으로 서버에서는 이전 요청 도중 사용된 변수 값을 알지 못합니다. 따라서 장바구니, 데이터 스크롤 등을 구현하는 응용 프로그램처럼 요청 간 상태 정보를 유지해야 하는 웹 응용 프로그램을 빌드하는 것은 어려울 수 있습니다. ASP.NET 세션 상태는 제한된 기간 동안 동일한 브라우저에서 받은 요청을 세션으로 식별하고 이를 통해 해당 세션이 지속되는 동안 변수 값을 유지할 수 있도록 합니다.

ASP.NET 세션 상태는 기본적으로 모든 ASP.NET 응용 프로그램에 사용할 수 있습니다. ASP.NET 세션 상태 변수는 Session 속성을 사용하여 쉽게 설정하고 검색할 수 있습니다. 이 속성은 세션 변수 값을 이름으로 인덱싱된 컬렉션으로 저장합니다. 예를 들어, 다음 코드 예제에서는 사용자의 이름과 성을 나타내는 세션 변수 FirstName과 LastName을 만들고 해당 변수를 TextBox 컨트롤에서 검색한 값으로 설정합니다.

Session("FirstName") = FirstNameTextBox.Text
Session("LastName") = LastNameTextBox.Text
Session["FirstName"] = FirstNameTextBox.Text;
Session["LastName"] = LastNameTextBox.Text;

ASP.NET에서 세션 정보는 기본적으로 ASP.NET 응용 프로그램의 메모리 공간에 저장됩니다. 선택적으로, 독립 실행형 서비스를 사용하여 세션 정보를 저장하면 ASP.NET 응용 프로그램이 다시 시작될 경우에도 세션 정보가 유지되고, SQL 서버에 저장하면 웹 팜의 여러 웹 서버에서 세션 정보를 사용할 수 있으며 ASP.NET 응용 프로그램이 다시 시작될 경우에도 세션 정보가 유지됩니다. 사용자 지정 데이터 저장소에 세션 정보를 저장할 수도 있습니다. 자세한 내용은 세션 상태 모드를 참조하십시오.

ASP.NET에는 세션 상태 외에 응용 프로그램 내의 데이터도 유지하기 위한 다른 여러 옵션도 제공합니다. 각 옵션을 비교하려면 ASP.NET 상태 관리 권장 사항을 참조하십시오.

단원 내용

참조

  • System.Web.SessionState
    세션 상태에 응용 프로그램 데이터를 저장할 수 있도록 하는 클래스와 인터페이스를 제공합니다.

  • Session
    현재 HTTP 요청의 세션에 액세스할 수 있도록 합니다.

관련 단원