나는 asp.net 웹 사이트에서 일하고 있습니다. 일부 페이지에서는 데이터 테이블을 캐시로 저장합니다. 캐시 [ "dt"] = dt; 그리고 chree에서 가져 와서 그 페이지에서 원하는 것을 사용해주세요. 세션이 닫힐 때마다 global.asax 파일의 session_end 이벤트에서 세션을 지우고 싶다고 생각합니다. 캐시로 [ "dt"] = null; application_end 또는 세션 끝을 닫을 때 더 좋은 위치는 무엇입니까? session_end에서 닫으면 다른 사용자에게 영향을 줍니까? 명확한 도움이 정보를 제공해 주시기 바랍니다. 감사합니다정확한 이벤트 (global.asax) asp.net에서 캐시를 지우려면
0
A
답변
0
Cache
에 데이터 테이블을 넣으므로 모든 사용자가 공유한다는 의미이므로 실제로 제거해야하는 유일한 시점은 모든 사용자가 공유한다는 의미입니다. 응용 프로그램이 종료되고 그 시점에서 모든 자원이 해제됩니다. 귀하의 응용 프로그램이 더 이상 실행되지 않습니다.
어쩌면 해야할지 /해야할 일은 데이터 테이블을 Session
에 넣는 것입니다. 그게 원한다면, OnSession_End
을 Global.asax
에 놓을 수 있지만, SessionEnd
은 발사가 보장되지 않습니다. 또한 사용자가 로그 아웃 할 때 Session.Abandon()
을 수행하면 모든 세션 객체가 지워집니다.
1
애플리케이션 데이터, 세션 데이터 및 캐시의 개념을 잘못 이해했다고 생각합니다. 이 세 가지는 모두 다른 것입니다.
- 응용 프로그램 데이터/상태는 응용 프로그램 범위에서 사용할 수있는 정보를 저장합니다. 즉, 모든 세션/사용자가 이러한 데이터에 액세스 할 수 있습니다.
- 세션 데이터는 현재 세션 데이터에 대한 정보를 저장합니다. 세션의 지속 기간은 구성 파일에 지정할 수 있습니다.
- 캐시는 자주 사용되는 데이터를 저장합니다. 그리고이 데이터는 매번 재생성하는 데 많은 비용이 듭니다.
귀하의 경우, 귀하가 캐시를 사용 중이므로이 캐시는 자주 사용되는 일부 데이터를 저장한다고 가정합니다. 이상적으로 정보가 변경되지 않는 한이 캐시는 항상 유효해야합니다. 따라서 캐시 권장 값을 최대한 길게 유지하는 것이 좋습니다.
관련 문제
- 1. 어떻게 아약스 캐시를 지우려면
- 2. 브라우저의 캐시를 지우려면 어떻게해야합니까?
- 3. global.asax 이벤트
- 4. html 페이지에서 캐시를 지우려면 어떻게해야합니까?
- 5. gmaps4rails 맵 캐시를 지우려면 어떻게해야합니까?
- 6. 프로그래밍 방식으로 캐시를 지우려면 어떻게해야합니까?
- 7. .NET의 리플렉션 캐시를 지우려면 어떻게해야합니까?
- 8. 페이지를로드하기 전에 캐시를 지우려면 어떻게합니까?
- 9. MKMapView의지도 타일 캐시를 지우려면 어떻게해야합니까?
- 10. jQuery DOM 캐시를 지우려면 어떻게해야합니까?
- 11. Android 브라우저에서 아이콘 캐시를 지우려면 어떻게해야합니까?
- 12. 배포의 일부로 ColdFusion 템플릿 캐시를 지우려면 어떻게합니까?
- 13. 어쨌든 파이썬 바이트 코드 캐시를 지우려면 없습니까?
- 14. Outlook 클라이언트의 캐시를 프로그래밍 방식으로 지우려면 어떻게해야합니까?
- 15. MonkeyRunner 응용 프로그램 캐시를 지우려면 어떻게해야합니까?
- 16. 워크 플로 디자이너의 캐시를 지우려면 어떻게해야합니까?
- 17. asp.net에서 캐시를 비활성화하는 방법?
- 18. 예외, Global.asax 및 이벤트 로그
- 19. asp.net에서 공유 캐시를 사용하는 방법
- 20. global.asax 란 무엇입니까?
- 21. 새지도 타일을 배포하고 강제로 사용자 캐시를 지우려면 어떻게해야합니까?
- 22. 서버를 다시 시작하지 않고 Coldfusion 쿼리 캐시를 지우려면 어떻게합니까?
- 23. 캐시를 지우려면 주어진 시간에 현재 페이지를 다시로드 하시겠습니까?
- 24. Session_Start 및 Session_End 이벤트 처리 - global.asax - SharePoint
- 25. Global.asax PostAuthenticateRequest 이벤트 바인딩은 어떻게 발생합니까?
- 26. Windows에서 모든 이벤트 로그를 지우려면 어떻게합니까?
- 27. 페이지가 ASP.NET에서 자체 캐시를 해제하지 못함 C#
- 28. asp.net에서 이벤트 수집기 구현
- 29. ASP.NET에서 대리인이 있거나없는 이벤트
- 30. ASP.net에서 이벤트 처리
나는 session_end evnt에서만 session.abandon() 메서드를 사용해야합니다. 세션 끝이 실행되지 않으면 세션을 어떻게 버릴 것입니까? – Ram
@Ram 아니, session_end가 아니라면 무슨 뜻입니까? 사용자가 웹 사이트에 로그인해야하는 경우 로그 아웃 버튼을 클릭하면됩니다. 인증을 요구하지 않으면 Session.Abandon을 호출 할 필요가 없습니다. 왜냐하면 SessionEnd는 해당 사용자에 대해 Session에 저장된 모든 것을 지울 것이기 때문입니다. – Icarus
대단히 감사합니다. 지금은 분명합니다. – Ram