2012-01-10 2 views
0

나는 아주 bizzare 위치에 갇혀 있고 한 달이 지났습니다. 때로는 클라이언트가 예외를 받거나 일부 페이지 또는 세션을 업데이트하면 브라우저 캐시를 삭제할 때까지 특정 사용자가 페이지에 액세스 할 수 없게됩니다. 우리가 그것을하려고하면, asp.net 당신을 로그 아웃하고 로그인 페이지로 리디렉션.클라이언트 캐시를 업데이트 할 수 있습니까?

내 로컬 컴퓨터에서이 상황이 계속 발생했습니다. 나는이 문제가 내 지역에서만 발생한다고 생각했지만 오늘은 클라이언트가 라이브에서도보고했다.

예를 들어 내가 Pagexy.aspx에서 쫓겨 난 경우 액세스 할 수 없습니다. 내가 접속하면 로그 아웃하고 로그인 페이지로 이동합니다. URL을 입력하거나 하이퍼 링크 또는 버튼 호출을 통해 여러 번 시도했습니다.

그리고 CSS 파일을 배포 한 후 한 가지 더. 클라이언트는 화살표를 볼 수 없으며 Ctrl + F5를 눌러야합니다. 클라이언트가 이러한 것을 모르는 것입니다.

감사합니다.

추 신 : 제 비디오는 요점을 설명해주었습니다. 1) 세션 타임 아웃 버그 (http://screencast.com/t/CW0e4DsH) 2) 코드를 빠르게 변경하고 페이지를 새로 고칩니다. (http://screencast.com/t/IKJQmkjU) 이 비디오는 명확한 아이디어를 제공합니다. 무슨 일이야.

+0

세 가지 다른 문제에 대해 묻는 것처럼 들립니다.귀하의 질문은 명확하지 않습니다. (그리고 도움을 요청하는 것은 게시물을 어지럽히는 것입니다.) – TLS

+0

죄송합니다. 지금은 더 나아요? –

+0

문제를 일으키는 정확한 코드를 식별하거나 질문을 설명하여 응용 프로그램을 구성하는 방법에 대한 답변을 제공하기가 매우 어렵 기 때문에 답변을 얻지 못했습니다. – Icarus

답변

0

가이들 캐시의 히트 앤 트라이얼을 통해이 문제를 해결했습니다.

아래 코드를 사용해 보았습니다.

Response.CacheControl = "no-cache"; 
Response.AddHeader("PRAGMA", "no-cache"); 
Response.Expires = -1; 

하지만 작동하지 않았지만 태그 아래에서 시도했지만 여전히 분류 할 수는 없습니다. 이 문제에 대한

솔루션

<%@ OutputCache Duration="1" NoStore="true" Location="None" %> 

기간은 0이 될 수 없다하지만이 문제를 분류.

감사합니다.

0

첫 번째 단락에서 브라우저 캐시를 지우지 않고 "사용자가 절대로 페이지에 액세스 할 수 없음"이라고 말합니다. 그런 다음 자신에게 을 입력하면에 액세스 할 수 있지만 로그인 페이지로 리디렉션됩니다. 문제는 두 가지 시나리오가 다르다는 것입니다. 사용자가 로그인 페이지로 리디렉션됩니까? 사용자가 캐시를 지울 때까지 실제로 무엇을 볼 수 있습니까?

이 답변을 위해 외부 사용자도 로그인 페이지로 리디렉션된다고 가정합니다.

로그인 페이지로 리디렉션 될 때 발생하는 현상은 IIS의 인증과 관련된 기본 제공 보안 메커니즘입니다. 어떤 종류의 인증을 사용하는지는 언급하지 않지만 Forms 인증을 사용하면 보안 쿠키가 브라우저에 만들어집니다. 해당 쿠키는 일정 시간이 지나면 만료되므로 사용자는 로그인 페이지로 리디렉션됩니다. 로컬로 페이지를 너무 많이 새로 고치면 IIS는 쿠키를 덤프/무시하고 다시 로그인해야합니다. 이는 예상되는 동작입니다.

CSS에 대한 질문은 this question을 참조하십시오. 나는 BalusC의 대답이 당신이 그 점에서 찾고있는 것이라고 생각합니다.

+0

안녕하세요, TLS, 혼란스러워서 죄송합니다. 나는 그 페이지에 접근하려고했다. 좋아, 우리가 내 로컬 호스트의 예를 들어 보자. 그러면 우리는 살기 위해 움직일 것이다. 내 localhost에서 나는이 상황을 거의 3 가지 상황에서 경험했다. 1) 세션 시간 초과. 2) 페이지에 예외가있을 때. 3) 내가 빠르게 변화 할 때 너무 많은 변화가 있습니다. (4) 전적으로 무작위) FormsAuthentication을 사용하고 있습니다. 귀하의 의견은 "당신이 너무 많은 시간을 새로 고치면 IIS는 덤프/쿠키를 무시하고 다시 로그인해야합니다"라고 말하면서 많은 의미를 갖지만 나중에 페이지에 액세스 할 수없는 이유는 무엇입니까? –

+0

안녕하세요, 저는 비디오를 만들었습니다. 첫 번째 비디오는 세션 시간 초과 용입니다. http://www.screencast.com/t/CW0e4DsH 두 번째 비디오는 코드의 급격한 변화입니다 http://www.screencast.com/t/IKJQmkjU 내가이기 때문에 내가 할 수없는 예외 비디오 그런 일이 언제 일어날 지 확신하지 못하지만이 두 개의 비디오를 보면서 당신은 아이디어를 얻습니다. 지금 당신이 문제를 보길 바랍니다. –

+0

죄송합니다. 그러나 지금있는 곳의 비디오를 볼 수 없습니다. 실제로 "어떤 식 으로든 페이지에 갈 수 없다"는 의미이므로 "액세스 할 수 없다"는 말을 할 때주의하십시오. 실제로 "로그온하여 페이지를 볼 수 있습니다."라고 말하면 사용자가 말하는 내용입니다. 그게 진짜 의미있는거야? – TLS

관련 문제