2011-04-06 8 views
1

Classic ASP에서 세션 및 쿠키에 큰 문제가 있습니다.세션/쿠키가 설정되지 않음 (게시, 리디렉션)

"a.asp"는 내가 Session("step") = "1"으로 설정 한 곳입니다. 이것은 작동하고 내가 "test.asp"를 호출 할 때 <%=Session("step")%> "1"이됩니다.

그런 다음 제출 된 양식 값을 기반으로 다른 세션 변수를 설정하는 "a.asp"에서 "process.asp"로 양식을 제출합니다. 마지막으로 "b.asp"로 리디렉션됩니다.

"b.asp"의 경우 Session("step") = "1"인지 확인하고 "1"이면 "2"로 설정하고 그렇지 않으면 "a.asp"로 리디렉션합니다. 페이지에 Session("step")을 쓰면 "2"라고 표시되지만 "test.asp"를 호출하면 "1"이됩니다.

페이지 자체가 올바른 값을 갖고 있지만 재로드 또는 다른 페이지가 세션/쿠키 값의 변경을 무시한 것처럼 보입니다.

쿠키 (Response.Cookies("step")/Request.Cookies("step"))와 동일하게 시도했지만 동일한 결과가 나타납니다.

페이지는 모두 같은 폴더에 있으며 IIS에는 작업자 스레드가 1 개뿐입니다.

왜 세션과 쿠키가 설정되지 않는지 알아낼 수 없습니다. 어떤 조언을 부탁드립니다!

답변

1

(언급을 보이지만, 약간의 설명이 필요 없습니다 적절이 답변을 삭제/편집 것인가 어쨌든 .....)

그것은 캐싱 문제가 될 수 :

  • 브라우저를 다시로드하기 위해 CTRL + F5를 시도해 보셨습니까?
  • 다른 브라우저에서 시도해보십시오. Firefox와 Chrome 둘 다 강제 캐시 새로 고침을 무시하거나 '개인'모드로 시도합니다.
  • 호스트에로드 밸런서 또는 캐싱 시스템이 있습니까? test.asp에 대한 각 요청에 무작위 쿼리 문자열을 추가하여 확인하십시오.
  • 당신은 더 캐싱을 강제 수 있지만, 일부 브라우저, ISP 및 호스팅 서비스 공급자는 ... 어쨌든

그것을 무시합니다.

Response.Expires = 0 
Response.AddHeader "pragma","no-cache" 
Response.AddHeader "cache-control","private" 
Response.CacheControl = "no-cache" 

이 모든 것을 시도해 보았다면 사과를 부탁드립니다.

관련 문제