쿠키 변경은 다음 요청까지 영향을주지 않습니다.이 문제를 해결하는 방법은 무엇입니까?

DrGriff

쿠키의 수명주기 (MSDN에 정의 됨)를 처리하는 Microsoft의 "모범 사례"에 대해 잘 알고 있으며이를 따르고 있지만 수정해야하는 이상한 시나리오를 발견했습니다. 나는 이것을 처음 경험 한 사람이라고 상상할 수 없으므로 커뮤니티가 이것에 대해 어떻게 생각하는지보고 싶었습니다.

그건 그렇고, 내가 설명하려는 것에 대한 한 가지 명백한 수정 사항은 리디렉션을 강제하는 것입니다. 그러나 내가 들어 가지 않을 이유 때문에 302는 옵션이 아닙니다.

좋아, 그래서 나는 WebRequest를 받고 특정 쿠키를 가지고 있습니다. 흐름에 따라이 쿠키를 "제거"해야합니다. 이를 위해 응답 쿠키의 값을 null로 설정하고 만료 날짜를 작년 언젠가로 설정했습니다.

그러나 나중에 코드의 매우 분리 된 부분이 쿠키를 다시 읽으려고 시도하고-무엇을 추측-이전 값을 찾습니다. 참고 : 이것은 여전히 ​​동일한 웹 요청의 일부이며 아직 클라이언트에게 반환되지 않았습니다.

고객의 브라우저로 돌아 가면 쿠키가 정식으로 제거됩니다.

내가 가진 한 가지 해결책은 웹 요청의 맨 처음에 Request 쿠키를 별도의 NameValueCollection에 복사하는 것입니다.

  • 쿠키 값을 업데이트 할 때마다 Response.Cookies 컬렉션의 쿠키를 모두 업데이트하고 별도의 NameValueCollection의 값을 업데이트합니다.
  • 쿠키를 삭제할 때마다 Response.Cookies 컬렉션에서 쿠키를 만료하고 NameValueCollection에서 쿠키를 제거합니다.
  • 새 쿠키를 추가 할 때마다 Response.Cookies 컬렉션과 NameValueCollection 모두에 추가합니다.
  • 쿠키의 값을 읽고 싶을 때마다 NameValueCollection에서 읽습니다.

생각?

감사

그리프

DrGriff

먼저 Resonse.Cookies.AnyKeys에 내 쿠키 이름이 포함되어 있는지 확인합니다. 그렇다면 응답 쿠키에서 읽습니다. 그렇지 않은 경우 요청 쿠키에서 읽습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Postgres : MV를 참조하는 다른 MV에 영향을주지 않고 MV의 이름을 변경하는 방법은 무엇입니까?

분류에서Dev

다른 페이지에서 쿠키를 얻는 방법은 무엇입니까?

분류에서Dev

Swift : 똑같이 채워진 다른 행에 영향을주지 않고 스택 행의 높이를 변경하는 방법은 무엇입니까?

분류에서Dev

PDF에 바이트를 삽입 한 다음 파일에 영향을주지 않고 분리하는 방법은 무엇입니까?

분류에서Dev

다크 / 라이트 모드 토글을 위해 쿠키를 저장하는 방법은 무엇입니까?

분류에서Dev

Android의 UI에 영향을주지 않고 RecyclerView 내에서 카운트 다운 타이머를 설정하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

UI에 영향을주지 않고 iOS에서 여러 이미지를 비동기 적으로 다운로드하는 방법은 무엇입니까?

분류에서Dev

Jinja2 조건이 표현식 내에서 일치하지 않습니다.이 문제를 해결하는 방법은 무엇입니까?

분류에서Dev

가로 스크롤에서 자연 스크롤이 작동하지 않습니다.이 문제를 해결하는 방법은 무엇입니까?

분류에서Dev

MEAN 스택 앱에서 baseUrl이 작동하지 않습니다.이 문제를 해결하는 방법은 무엇입니까?

분류에서Dev

후속 요청에서 서버로 다시 전송 된 쿠키가 만료되지 않았 음을 신뢰하는 방법은 무엇입니까?

분류에서Dev

이전보기에 영향을주지 않고 UINavigationBar 제목의 이름을 변경하는 방법은 무엇입니까?

분류에서Dev

이벤트 리스너가 작동하지 않습니다. 문제를 해결하는 방법은 무엇입니까?

분류에서Dev

요소를 정렬 할 수 없습니다. 이 문제를 해결하는 방법은 무엇입니까?

분류에서Dev

단어에 영향을주지 않고 줄당 문자 수를 제한하는 방법은 무엇입니까?

분류에서Dev

Debian / KDE에서 비밀번호를 변경 한 후 "컴퓨터에 로그인 할 때 로그인 키링이 잠금 해제되지 않았습니다"를 해결하는 방법은 무엇입니까?

분류에서Dev

"코 루틴이 기다리지 않았습니다"경고를 억제하는 방법은 무엇입니까?

분류에서Dev

사용자가 다른 페이지를 방문 할 때 쿠키 값을 유지하는 방법은 무엇입니까?

분류에서Dev

제품 2와 16을 모두 포함하는 주문은 무엇입니까? 이 문제를 해결하기 위해 여러 가지 방법을 시도했지만 작동하지 않습니다.

분류에서Dev

이 경고를 제거하는 방법은 무엇입니까? 필드 값이 사용되지 않습니다.

분류에서Dev

RestAssured : 콘텐츠 유형 애플리케이션 / x-www-form-urlencoded를 직렬화하는 방법을 결정하지 않습니다. 키 / 값 구조로 요청을 생성하는 방법은 무엇입니까?

분류에서Dev

다음 문제 설명에 대해 영역 별 데이터를 표시하는 방법은 무엇입니까?

분류에서Dev

tor : 모든 페이지 요청에 대해 다른 IP 주소를 갖는 방법은 무엇입니까?

분류에서Dev

Ionic / angularjs 알 수없는 공급자의 쿠키 문제를 해결하는 방법은 무엇입니까?

분류에서Dev

Firefox 페이지에서 타사 쿠키를 제거하는 방법은 무엇입니까?

분류에서Dev

tkinter에서 메뉴 모음 방법을 통해 페이지를 변경하는 방법은 무엇입니까?

분류에서Dev

keras 모델을 플로팅하여 다음 문제를 해결하는 방법은 무엇입니까?

분류에서Dev

AngularJS-$ scope 데이터 변경은 뷰에 영향을주지 않습니다.

분류에서Dev

다음 결과를 얻기 위해 두 테이블을 결합하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Postgres : MV를 참조하는 다른 MV에 영향을주지 않고 MV의 이름을 변경하는 방법은 무엇입니까?

  2. 2

    다른 페이지에서 쿠키를 얻는 방법은 무엇입니까?

  3. 3

    Swift : 똑같이 채워진 다른 행에 영향을주지 않고 스택 행의 높이를 변경하는 방법은 무엇입니까?

  4. 4

    PDF에 바이트를 삽입 한 다음 파일에 영향을주지 않고 분리하는 방법은 무엇입니까?

  5. 5

    다크 / 라이트 모드 토글을 위해 쿠키를 저장하는 방법은 무엇입니까?

  6. 6

    Android의 UI에 영향을주지 않고 RecyclerView 내에서 카운트 다운 타이머를 설정하는 가장 좋은 방법은 무엇입니까?

  7. 7

    UI에 영향을주지 않고 iOS에서 여러 이미지를 비동기 적으로 다운로드하는 방법은 무엇입니까?

  8. 8

    Jinja2 조건이 표현식 내에서 일치하지 않습니다.이 문제를 해결하는 방법은 무엇입니까?

  9. 9

    가로 스크롤에서 자연 스크롤이 작동하지 않습니다.이 문제를 해결하는 방법은 무엇입니까?

  10. 10

    MEAN 스택 앱에서 baseUrl이 작동하지 않습니다.이 문제를 해결하는 방법은 무엇입니까?

  11. 11

    후속 요청에서 서버로 다시 전송 된 쿠키가 만료되지 않았 음을 신뢰하는 방법은 무엇입니까?

  12. 12

    이전보기에 영향을주지 않고 UINavigationBar 제목의 이름을 변경하는 방법은 무엇입니까?

  13. 13

    이벤트 리스너가 작동하지 않습니다. 문제를 해결하는 방법은 무엇입니까?

  14. 14

    요소를 정렬 할 수 없습니다. 이 문제를 해결하는 방법은 무엇입니까?

  15. 15

    단어에 영향을주지 않고 줄당 문자 수를 제한하는 방법은 무엇입니까?

  16. 16

    Debian / KDE에서 비밀번호를 변경 한 후 "컴퓨터에 로그인 할 때 로그인 키링이 잠금 해제되지 않았습니다"를 해결하는 방법은 무엇입니까?

  17. 17

    "코 루틴이 기다리지 않았습니다"경고를 억제하는 방법은 무엇입니까?

  18. 18

    사용자가 다른 페이지를 방문 할 때 쿠키 값을 유지하는 방법은 무엇입니까?

  19. 19

    제품 2와 16을 모두 포함하는 주문은 무엇입니까? 이 문제를 해결하기 위해 여러 가지 방법을 시도했지만 작동하지 않습니다.

  20. 20

    이 경고를 제거하는 방법은 무엇입니까? 필드 값이 사용되지 않습니다.

  21. 21

    RestAssured : 콘텐츠 유형 애플리케이션 / x-www-form-urlencoded를 직렬화하는 방법을 결정하지 않습니다. 키 / 값 구조로 요청을 생성하는 방법은 무엇입니까?

  22. 22

    다음 문제 설명에 대해 영역 별 데이터를 표시하는 방법은 무엇입니까?

  23. 23

    tor : 모든 페이지 요청에 대해 다른 IP 주소를 갖는 방법은 무엇입니까?

  24. 24

    Ionic / angularjs 알 수없는 공급자의 쿠키 문제를 해결하는 방법은 무엇입니까?

  25. 25

    Firefox 페이지에서 타사 쿠키를 제거하는 방법은 무엇입니까?

  26. 26

    tkinter에서 메뉴 모음 방법을 통해 페이지를 변경하는 방법은 무엇입니까?

  27. 27

    keras 모델을 플로팅하여 다음 문제를 해결하는 방법은 무엇입니까?

  28. 28

    AngularJS-$ scope 데이터 변경은 뷰에 영향을주지 않습니다.

  29. 29

    다음 결과를 얻기 위해 두 테이블을 결합하는 방법은 무엇입니까?

뜨겁다태그

보관