배경 : ASP.NET MVC 3 웹 응용 프로그램을 작성하고 있습니다. 편리한 자동 만료 기능 및 스레드 안전성으로 인해 캐시에 보관하려는 객체의 List<MyObject>
(실제로 여러 목록)이 있습니다.System.Web.Caching.Cache 캐시에서 제거 된 개체를 삭제 하시겠습니까?
내부 개체에는 내부 서버 푸시 구현에 사용되는 System.Threading.Semaphore
의 인스턴스가 내부적으로 포함되어 있습니다.
그래서 캐시에 넣으면 개체의 수명주기가 어떻게 변경 될지 궁금합니다. 캐시가/etc를 제거하는 객체를 실제로 처리하면 스레드/NullReferenceExceptions에 문제가 발생할 수 있습니다. 아마도 이것을하지 않는 다른 명백한 이유가 있을까요?
TIA.
답변 해 주셔서 감사합니다. 이제 좀 더 편안해졌습니다. 나는 라이프 사이클을 연장하는 것을 꺼리지 않는다 - 이것은 나에게이 솔루션을위한 포인트를 추가 할 수도있다. 가장 가까운 미래에 응답이 더 이상 나타나지 않으면 귀하의 대답을 수락합니다. –
제거 콜백 메소드를 지정하여 필요한 경우 오브젝트를 삭제할 수 있습니다. – Rozwel
@Rozwel : 감사합니다. 객체가 자동으로 제거되지 않는다는 것을 확실히 알고 싶었습니다. –