2010-03-20 6 views
1

schemaless 데이터베이스를 사용하여 자체 SessionStateStoreProvider를 구현하고 있습니다. documentation에서 이야기하는 것이 조금 어렵지만 만료 된 세션을 정리하기위한 별도의 프로세스가 있어야하는 것처럼 보입니다. 데이터베이스에서 세션 상태 저장소에 세션이 만료되었음을 알리는 방법이 없기 때문입니다.사용자 지정 SessionStateStoreProvider를 사용하여 만료 된 세션 정리

내가 잘못 했나요? SetItemExpireCallback 메서드를 재정의하기위한 대체 예제를 보지 못했습니다.

답변

1

예 맞습니다. 세션이 만료 대한 트리거가 없습니다

DECLARE @now datetime 
    SET @now = GETUTCDATE() 

    DELETE ASPStateTempSessions WHERE Expires < @now 

: 당신이 데이터베이스에 세션을 저장하는 경우

, 다음 SQL Server 에이전트의 작업이이 절차 그렇게 모든 분에게 전화 이잖아입니다. 그것이 트리거 일 수 있다고합시다. 세션이 만료되었고 자동 삭제된다는 것을 알기 위해 트리거를 혼자 둘 장소는 없습니다.

다른 방법으로 타이머를 만들지는 않지만 사용자가 페이지를 요청할 때 1-2 분마다 만료 된 메시지를 삭제하는 기능을 실행하십시오.

사용자 호출로 트리거를 만들지 만, 일종의 잠금을 사용하여 1 - 2 분마다 onces를 실행하고 마지막 실행을 확인해야합니다.

희망이 있습니다.

관련 문제