2014-02-28 1 views
3

나는 MarshalByRefObject에서 상속하는 클래스가 있고, 그것에서 나는에게 InitialLeaseTime 두 시간을 제공하기 위해 평생 서비스를 무시하고 :Remoting 개체의 만료를 연결할 수 있습니까?

public override object InitializeLifetimeService() 
{ 
    // Expire after two hours. 
    var lease = (ILease)base.InitializeLifetimeService(); 
    if (lease.CurrentState == LeaseState.Initial) 
     lease.InitialLeaseTime = TimeSpan.FromHours(2); 

    return lease; 
} 

지금, 나는 임대가 만료 될 때 몇 가지 논리를 수행합니다. 만료일에 이벤트 나 후크가 있습니까? Google과 MSDN을 검색했지만 아무 것도 발견하지 못했습니다.

감사합니다.

답변

1

임대가 만료되면 ISponsor.Renewal 메서드가 개체의 스폰서에서 호출되고 있습니다. 따라서 ISponsor을 구현하고 로직을 입력하십시오.

이렇게하려면 InitializeLifetimeService 구현에서 ILease.Register 메서드를 호출하고 ISponsor을 인수로 전달해야합니다.

관련 문제