次の方法で共有


LifetimeServices.RenewOnCallTime プロパティ

定義

サーバー オブジェクトで呼び出しがあるたびに、リースを延長する時間を取得または設定します。

public:
 static property TimeSpan RenewOnCallTime { TimeSpan get(); void set(TimeSpan value); };
public static TimeSpan RenewOnCallTime { get; set; }
public static TimeSpan RenewOnCallTime { get; [System.Security.SecurityCritical] set; }
member this.RenewOnCallTime : TimeSpan with get, set
[<set: System.Security.SecurityCritical>]
member this.RenewOnCallTime : TimeSpan with get, set
Public Shared Property RenewOnCallTime As TimeSpan

プロパティ値

TimeSpan

各呼び出しの後に、現在の TimeSpan 内の有効期間リースを延長する時間間隔を示す AppDomain

属性

例外

コールスタックの上位にある 1 つ以上の呼び出し元に、リモート処理の型とチャネルを構成するためのアクセス許可がありません。 この例外はプロパティの値を設定したときにだけスローされます。

// Register the channel.
TcpChannel^ myChannel = gcnew TcpChannel;
ChannelServices::RegisterChannel( myChannel );
RemotingConfiguration::RegisterActivatedClientType( HelloService::typeid, "Tcp://localhost:8085" );
TimeSpan myTimeSpan = TimeSpan::FromMinutes( 10 );

// Create a remote object.
HelloService ^ myService = gcnew HelloService;
ILease^ myLease;
myLease = dynamic_cast<ILease^>(RemotingServices::GetLifetimeService( myService ));
if ( myLease == nullptr )
{
   Console::WriteLine( "Cannot lease." );
   return  -1;
}

Console::WriteLine( "Initial lease time is {0}", myLease->InitialLeaseTime );
Console::WriteLine( "Current lease time is {0}", myLease->CurrentLeaseTime );
Console::WriteLine( "Renew on call time is {0}", myLease->RenewOnCallTime );
Console::WriteLine( "Sponsorship timeout is {0}", myLease->SponsorshipTimeout );
Console::WriteLine( "Current lease state is {0}", myLease->CurrentState );
// Register the channel.
TcpChannel myChannel = new TcpChannel ();
ChannelServices.RegisterChannel(myChannel);
RemotingConfiguration.RegisterActivatedClientType(
                       typeof(HelloService),"Tcp://localhost:8085");

TimeSpan myTimeSpan = TimeSpan.FromMinutes(10);

// Create a remote object.
HelloService myService = new HelloService();

ILease myLease;
myLease = (ILease)RemotingServices.GetLifetimeService(myService);
if (myLease == null)
{
   Console.WriteLine("Cannot lease.");
   return;
}

Console.WriteLine ("Initial lease time is " + myLease.InitialLeaseTime);
Console.WriteLine ("Current lease time is " + myLease.CurrentLeaseTime);
Console.WriteLine ("Renew on call time is " + myLease.RenewOnCallTime);
Console.WriteLine ("Sponsorship timeout is " + myLease.SponsorshipTimeout);
Console.WriteLine ("Current lease state is " + myLease.CurrentState.ToString());
' Register the channel.
Dim myChannel As New TcpChannel()
ChannelServices.RegisterChannel(myChannel)
RemotingConfiguration.RegisterActivatedClientType( _
                  GetType(HelloService), "Tcp://localhost:8085")

Dim myTimeSpan As TimeSpan = TimeSpan.FromMinutes(10)

' Create a remote object.
Dim myService As New HelloService()

Dim myLease As ILease
myLease = CType(RemotingServices.GetLifetimeService(myService), ILease)
If myLease Is Nothing Then
   Console.WriteLine("Cannot lease.")
   Return
End If

Console.WriteLine("Initial lease time is " & myLease.InitialLeaseTime.ToString())
Console.WriteLine("Current lease time is " & myLease.CurrentLeaseTime.ToString())
Console.WriteLine("Renew on call time is " & myLease.RenewOnCallTime.ToString())
Console.WriteLine("Sponsorship timeout is " & myLease.SponsorshipTimeout.ToString())
Console.WriteLine("Current lease state is " & myLease.CurrentState.ToString())

注釈

有効期間リースを延長する既定の更新時間は 2 分です。

適用対象