2012-09-10 3 views
1

내가 아는 사람이 부족한 점에 대해 아는 사람이 없어서 죄송합니다. ASP.net을 사용하여 Windows 서버에 구축 된 사이트를 상속했습니다.IIS 서버에서 자동으로 캐시 새로 고침

사용자 로그인 시스템에 문제가 있습니다. 기본적인 이야기는 사용자가 관리자가 승인해야하는 계정을 사용자가 요청할 때입니다. 관리자가 사용자 응용 프로그램을 거부하면 사용자는 암호 분실 옵션을 사용하여 계속 로그인 할 수 있습니다.

초기 반응은 코드에서 잘못된 논리이지만 일부 ASP 사용자는 빠른 검토를 통해 문제를 재현 할 수 없었습니다. 이 때문에 그들은 일종의 캐싱 문제 일 수 있다고 제안했습니다. 그렇다면 서버를 매 시간마다 재설정하도록 서버를 설정하는 방법이 있습니까? 또는 이것에 대한 다른 권고도 환영합니다. 죄송합니다 코드 예제의 전체 부족하지만 시나리오는 지금 내가 제공 할 수있는 전부입니다.

건배.

답변

3

재현 할 수 없다면 문제가 없습니다. 나는 캐싱 문제가있을 수 있다고 인정한다. 그러나 귀하의 응용 프로그램에 대해 더 알지 못하면 System.Web.Caching.Cache 클래스 (일반적으로 Page 클래스를 통해 직접 액세스하지 않는 경우 HttpContext.Current에 액세스)에 대한 참조를 위해 소스 코드를 grep하는 것이 좋습니다.

책임있는 캐시에 대한 아이디어를 삭제 한 것은 잊어 버린 암호 기능을 잘못 코딩 한 것일뿐입니다. 패스워드 잊어 버린 기능은 어떤 종류의 "account disabled"플래그를 리셋합니다. 사용자가 들어올 수있게 해줍니다.

+0

System.Runtime.Caching을 잊지 마세요! - 다소 최근에 나왔지만, 텍스트 검색을 제안한다면 아마 두 가지 모두를 찾아야 할 것입니다. – StingyJack

1

ASP.Net caching class에는 캐시 된 항목에 대한 반복자와 항목을 제거하는 방법이 있습니다. "유휴"작업자 프로세스가 죽기 때문에 IIS에서 장기 실행 프로세스를 호스팅하는 것은 어렵습니다. 따라서 타이머를 실행할 수는 없습니다. 그러나 영구 저장소와 결합 된 IIS auto-start 기능을 사용하여 매시간 "핵무기 차단"방법을 실행할 수 있습니다.

그렇다면이 문제에 대한 현명한 해결책이 무엇인지 알 수 없습니다. 실제 문제를 해결하는 데 도움이되기를 바랍니다.

관련 문제