programing

C# 세션 지우기

mailnote 2023. 10. 23. 22:01
반응형

C# 세션 지우기

질문 1번

언제 사용해야 하는지 알고 싶습니다.

세션.포기() // 추적 중에 사용할 때와 호출한 후에 세션에 값이 남아 있습니다.

그리고 언제 사용해야 합니까?

세션.지우기()

각각의 구체적인 방법은 언제 사용해야 합니까?


  • 일반적으로?
  • 내 구체적인 경우는?

Page Load에서 session이 null과 동일하지 않은지 확인합니다.세션이 null과 같으면 세션을 지우고 로그인 페이지로 리디렉션하시겠습니까?

다음과 같은 것을 사용해야 합니까?

private void initSession()
{
    Session.Clear();
    Session.Abandon();
    Response.Redirect("LoginPage.aspx");
}

ASP.NET에서는 언제 Session을 사용해야 합니까?세션이 아닌 지우기().포기()?

세션.포기()가 세션을 파괴하고 Session_OnEnd 이벤트가 트리거됩니다.

세션.Clear()는 개체에서 모든 값(컨텐츠)을 제거합니다.동일한 키를 가진 세션이 여전히 활성화되어 있습니다.

그래서 Session을 사용하면.포기(), 특정 세션을 잃게 되면 사용자는 새 세션 키를 갖게 됩니다.예를 들어 사용자가 로그아웃할 때 사용할 수 있습니다.

세션을 사용합니다.(예를 들어, 사용자가 다시 로그인하지 않도록 하려면) 동일한 세션에 남아 있고 모든 세션별 데이터를 재설정하려면 ()를 지웁니다.

세션의 차이점은 무엇입니까?포기() 및 세션.지우기()

지우기 - 세션 상태 모음에서 모든 키와 값을 제거합니다.

포기 - 세션에 저장된 모든 개체를 제거합니다.포기 메서드를 명시적으로 호출하지 않으면 세션이 시간 초과되면 서버는 이러한 개체를 제거하고 세션을 삭제합니다.또한 Session_End와 같은 이벤트를 발생시킵니다.

세션.클리어는 선반에서 모든 책을 꺼내는 것과 비교할 수 있는 반면 세션.포기는 선반을 통째로 버리는 것과 같습니다.

...

일반적으로 대부분의 경우 세션을 사용해야 합니다.이상 무. 세션을 사용해도 됩니다.사용자가 사이트를 떠나는 것이 확실한 경우 포기합니다.

다시 다른 점으로 돌아가겠습니다.

  • 포기는 Session_End 요청을 발생시킵니다.
  • 지우기는 항목을 즉시 제거하고 포기는 제거하지 않습니다.
  • 포기는 수집된 가비지를 할 수 있도록 SessionState 개체와 해당 항목을 해제합니다.
  • Clear는 SessionState 및 관련 리소스를 유지합니다.

세션.지우기() 또는 세션을 선택합니다.포기()?

세션을 사용합니다.세션을 종료하지 않고 세션의 모든 키를 지우고 세션을 다시 초기화할 때 clear()를 선택을 취소합니다.

세션.Clear()는 Global.ax 파일의 Session_End 이벤트 핸들러를 실행하지 않습니다.

하지만 다른 한편으로는 세션.Debone()은 세션을 모두 제거하고 Session_End 이벤트 핸들러를 실행합니다.

세션.Clear()는 책장에서 책을 치우는 것과 같습니다.

세션.포기()는 책장을 던지는 것과 같습니다.

질문.

페이지 로드에서 null과 동일하지 않은 경우 일부 세션을 확인합니다.둘 중 하나가 null이면 모든 세션을 지우고 로그인 페이지로 리디렉션하시겠습니까?

정답.

사용자가 다시 로그인하려면 Session을 사용합니다.버리다.

또 다른 큰 차이점은 포기가 항목을 즉시 제거하지는 않지만 정리할 때 세션 항목을 루프 오버하여 특별히 처리해야 하는 STACOM 개체를 확인한다는 것입니다.그리고 이것은 문제가 될 수 있습니다.

부하가 높을 경우 동일한 세션에 대해 서버에 요청을 두 개(즉, 동일한 세션 쿠키가 있는 두 개의 요청) 할 수 있습니다.실행은 연속적으로 수행되지만, 포기는 항목을 동기적으로 지우지 않고 플래그를 설정하기 때문에 두 요청 모두 실행할 수 있으며, 두 요청 모두 "나중에" 세션을 지우기 위해 작업 항목을 예약할 수 있습니다.그러면 이 두 작업 항목이 동시에 실행될 수 있으며, 둘 다 세션 개체를 확인하고 있으며, 둘 다 개체 배열을 지우고 있으며, 목록 위에서 두 가지를 반복하여 변경하면 어떻게 됩니까?붐! 그리고 이것은 큐 사용자 작업 아이템 콜백에서 일어나고 시도/캐치에서 이루어지지 않기 때문에(MS 고마워), 그것은 당신의 전체 앱 도메인을 다운시킬 것입니다.가봤어요.

언급URL : https://stackoverflow.com/questions/6640350/c-sharp-clear-session

반응형