C\#중 Session 의 용법 을 자세히 설명 합 니 다.

3804 단어 c#session사용법
세 션 모델 소개
      공부 하기 전에 세 션 이 뭔 지 궁금 해 요.쉽게 말 하면 서버 가 클 라 이언 트 에 게 주 는 번호 이다.WWW 서버 가 실 행 될 때 몇몇 사용자 가 이 서버 에 실 려 있 는 사 이 트 를 방문 할 수 있 습 니 다.모든 사용자 가 처음으로 이 WWW 서버 와 연결 을 맺 었 을 때,그 는 이 서버 와 세 션 을 만 들 었 고,동시에 서버 는 자동 으로 이 사용자 의 유일한 신분 을 표시 하기 위해 세 션 ID 를 분배 할 것 이다.이 SessionID 는 WWW 서버 에서 무 작위 로 생 성 된 24 글자 로 구 성 된 문자열 로 다음 실험 에서 실제 모습 을 볼 수 있 습 니 다.
이 유일한 Session ID 는 매우 큰 실제 적 인 의의 가 있다.한 사용자 가 폼 을 제출 하면 브 라 우 저 는 사용자 의 SessionID 를 HTTP 헤더 정보 에 자동 으로 추가 합 니 다.(이것 은 브 라 우 저의 자동 기능 이 므 로 사용자 가 알 아차 리 지 못 합 니 다)서버 가 이 폼 을 처리 한 후에 결 과 를 SessionID 에 대응 하 는 사용자 에 게 되 돌려 줍 니 다.세 션 ID 가 없 으 면 두 사용자 가 동시에 등록 할 때 서버 는 어떤 사용자 가 어떤 양식 을 제출 했 는 지 어떻게 알 수 있 을 까?물론 세 션 ID 는 또 다른 역할 이 많 기 때문에 뒤에서 언급 하 겠 습 니 다.
세 션 ID 외 에 도 세 션 마다 다른 정보 가 많이 포 함 돼 있다.그러나 ASP 나 ASP.NET 프로그램 을 작성 하 는 데 가장 유용 한 것 은 ASP/ASP.NET 에 내 장 된 세 션 대상 을 방문 하여 모든 사용자 에 게 각자 의 정 보 를 저장 할 수 있 습 니 다.예 를 들 어 저 희 는 저희 사 이 트 를 방문 한 사용자 가 몇 페이지 를 방 문 했 는 지 알 고 싶 습 니 다.저 희 는 사용자 가 모든 페이지 에 방문 하여 가입 할 수 있 습 니 다.여기 서 우 리 는 Sassion 에 대해 어느 정도 인식 을 가지 게 되 었 습 니 다.그러면 Sassion 의 속성 과 특징 을 소개 하 겠 습 니 다.
세 션 은 다음 과 같은 특징 을 가지 고 있 습 니 다.
(1)Session 의 데 이 터 는 서버 에 저 장 됩 니 다.
(2)Session 에서 임의의 형식의 데 이 터 를 저장 할 수 있 습 니 다.
(2)세 션 의 기본 수명 주 기 는 20 분 으로 더 길 거나 더 짧 은 시간 을 수 동 으로 설정 할 수 있 습 니 다.
주의해 야 할 것 은 Session 변수 에 너무 많은 데 이 터 를 저장 하면 서버 자원 이 많이 소모 되 므 로 session 을 사용 할 때 신중 해 야 합 니 다.
Session 의 구체 적 인 용법
(1)문자열 저장:

Session["userName"] = "aaa";
(2)수치 추출:

string str = Session["userName"].ToString();
session 을 가 져 올 때 보통 이렇게 씁 니 다:string username=session["username"].그러나 대상 에 게 값 을 부여 할 때 우 리 는 두 가 지 를 주의해 야 합 니 다.
    2.1:null 인지 아 닌 지 판단
    2.2 유형의 전환
 만약 어떤 기록 의 번호 가 있다 면:
    Session["id"] = 1;
    이렇게 값 을 추출 합 니 다:
    int id1 = Convert.ToInt32(Session["userName"]);
(3)석방 방법:세 션 지우 기
     Session["UserName"] = null;
     Session.Remove("UserName");
모든 세 션 지우 기
     Session.Abandon();
     session.removeAll();
Session 데이터 저장 위치 및 형식
웹.config 설정 노드 문법:

<system.web>
<sessionState mode="Off|InProc|StateServer|SQLServer"
cookieless="true|false"
timeout="number of minutes"
stateConnectionString="tcpip=server:port"
sqlConnectionString="sql connection string"
stateNetworkTimeout="number of seconds"
/>
</system.web>
mode:세 션 정 보 를 어디 에 저장 할 지 설정 합 니 다.
꺼 짐:세 션 기능 을 사용 하지 않 음;
InProc:Session 을 IIS 프로 세 스에 저장 합 니 다.이것 은 기본 값 이 고 가장 많이 사용 되 는 것 입 니 다.(장점 은 간단 하고 성능 이 가장 높 습 니 다.그러나 IIS 서버 를 다시 시작 할 때 세 션 을 잃 어 버 렸 습 니 다.)
StateServer:세 션 을 ASP.NET 상태 서비스 프로 세 스에 저장 합 니 다.(웹 프로그램 을 다시 시작 할 때 세 션 상 태 를 유지 하고 세 션 상 태 를 네트워크 의 여러 웹 서버 에 사용 할 수 있 도록 합 니 다.)
SQLServer:Session 을 SQL Server 에 저장 합 니 다.
cookieless:클 라 이언 트 의 Session 정 보 를 어디 에 저장 할 지 설정 합 니 다.
ture 쿠키 리 스 모드 사용 하기;이때 클 라 이언 트 의 Session 정 보 는 쿠키 로 저장 되 지 않 고 URL 로 저장 된다.
false 는 쿠키 모드 를 사용 합 니 다.기본 값 입 니 다.
timeout 설정 은 몇 분 후에 서버 가 자동 으로 세 션 정 보 를 포기 합 니까?기본 값 은 20 분 입 니 다.
stateConnectionString 은 세 션 정 보 를 상태 서비스 에 저장 할 때 사용 할 서버 이름과 포트 번 호 를 설정 합 니 다.
예 를 들 어'tcpip=127.0.1:42424'.mode 의 값 이 StateServer 일 때 이 속성 은 필수 입 니 다.(기본 포트 42424).
sqlConnectionString 은 SQL Server 와 연 결 될 때의 연결 문자열 을 설정 합 니 다.
예 를 들 어"data source=localhost;Integrated Security=SSPI;Initial Catalog=joye"。mode 의 값 이 SQLServer 일 때 이 속성 은 필수 입 니 다.
stateNetwork Timeout 설정 은 StateServer 모드 로 Session 상 태 를 저장 할 때 몇 초 동안 빈 후에 웹 서버 와 상태 정 보 를 저장 하 는 서버 의 TCP/IP 연결 을 끊 습 니 다.기본 값 은 10 초 입 니 다.
이상 은 C\#중 세 션 의 용법 에 대한 상세 한 내용 입 니 다.C\#중 세 션 의 용법 에 관 한 자 료 는 다른 관련 글 을 주목 하 세 요!

좋은 웹페이지 즐겨찾기