LifetimeServices クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
.NET リモート処理有効期間サービスを制御します。
public ref class LifetimeServices sealed
public sealed class LifetimeServices
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class LifetimeServices
[System.Runtime.InteropServices.ComVisible(true)]
[System.Security.SecurityCritical]
public sealed class LifetimeServices
type LifetimeServices = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type LifetimeServices = class
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Security.SecurityCritical>]
type LifetimeServices = class
Public NotInheritable Class LifetimeServices
- 継承
-
LifetimeServices
- 属性
例
#using <system.dll>
#using <system.runtime.remoting.dll>
#using "service.dll"
using namespace System;
using namespace System::Runtime::Remoting;
using namespace System::Runtime::Remoting::Channels;
using namespace System::Runtime::Remoting::Channels::Http;
using namespace System::Runtime::Remoting::Lifetime;
int main()
{
LifetimeServices::LeaseTime = TimeSpan::FromSeconds( 5 );
LifetimeServices::LeaseManagerPollTime = TimeSpan::FromSeconds( 3 );
LifetimeServices::RenewOnCallTime = TimeSpan::FromSeconds( 2 );
LifetimeServices::SponsorshipTimeout = TimeSpan::FromSeconds( 1 );
ChannelServices::RegisterChannel( gcnew HttpChannel( 8080 ) );
RemotingConfiguration::RegisterActivatedServiceType( ClientActivatedType::typeid );
Console::WriteLine( "The server is listening. Press Enter to exit...." );
Console::ReadLine();
Console::WriteLine( "GC'ing." );
GC::Collect();
GC::WaitForPendingFinalizers();
return 0;
}
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Http;
using System.Runtime.Remoting.Lifetime;
public class Server {
public static void Main() {
Server myServer = new Server();
myServer.Run();
}
public void Run()
{
LifetimeServices.LeaseTime = TimeSpan.FromSeconds(5);
LifetimeServices.LeaseManagerPollTime = TimeSpan.FromSeconds(3);
LifetimeServices.RenewOnCallTime = TimeSpan.FromSeconds(2);
LifetimeServices.SponsorshipTimeout = TimeSpan.FromSeconds(1);
ChannelServices.RegisterChannel(new HttpChannel(8080), true);
RemotingConfiguration.RegisterActivatedServiceType(typeof(ClientActivatedType));
Console.WriteLine("The server is listening. Press Enter to exit....");
Console.ReadLine();
Console.WriteLine("GC'ing.");
GC.Collect();
GC.WaitForPendingFinalizers();
}
}
Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels
Imports System.Runtime.Remoting.Channels.Http
Imports System.Runtime.Remoting.Lifetime
Imports System.Security.Permissions
Public Class Server
Public Shared Sub Main()
Dim myServer As New Server()
myServer.Run()
End Sub
<SecurityPermission(SecurityAction.Demand, Flags:=SecurityPermissionFlag.Infrastructure)> _
Public Sub Run()
LifetimeServices.LeaseTime = TimeSpan.FromSeconds(5)
LifetimeServices.LeaseManagerPollTime = TimeSpan.FromSeconds(3)
LifetimeServices.RenewOnCallTime = TimeSpan.FromSeconds(2)
LifetimeServices.SponsorshipTimeout = TimeSpan.FromSeconds(1)
ChannelServices.RegisterChannel(New HttpChannel(8080), True)
RemotingConfiguration.RegisterActivatedServiceType(GetType(ClientActivatedType))
Console.WriteLine("The server is listening. Press Enter to exit....")
Console.ReadLine()
Console.WriteLine("GC'ing.")
GC.Collect()
GC.WaitForPendingFinalizers()
End Sub
End Class
注釈
分散ガベージ コレクションは、サーバー アプリケーションの有効期間を制御し、有効期間の有効期限が切れたときに削除する役割を担います。 従来、分散ガベージ コレクションでは、制御に参照カウントと ping が使用されます。 これは、オブジェクトごとに少数のクライアントがある場合にうまく機能しますが、各オブジェクトごとに何千ものクライアントがある場合はうまく機能しません。 有効期間サービスでは、従来の分散ガベージ コレクターの機能を想定でき、クライアントの数が増えると適切にスケーリングされます。
有効期間サービスは、リースをリモートでアクティブ化された各オブジェクトに関連付けます。 リースの有効期限が切れると、オブジェクトが削除されます。
注意
このクラスは、リンク要求を行います。 直接の呼び出し元にインフラストラクチャアクセス許可がない場合は、SecurityException がスローされます。 詳細については、「 リンク要求 」を参照してください。
コンストラクター
LifetimeServices() |
古い.
LifetimeServices のインスタンスを作成します。 |
プロパティ
LeaseManagerPollTime |
有効期限が切れたリースをクリーンアップするリース マネージャーの、各アクティベーション間の時間間隔を取得または設定します。 |
LeaseTime |
AppDomain の初期リース期間を取得または設定します。 |
RenewOnCallTime |
サーバー オブジェクトで呼び出しがあるたびに、リースを延長する時間を取得または設定します。 |
SponsorshipTimeout |
リース マネージャーが、スポンサがリースの更新時間を返すまで待機する時間を取得または設定します。 |
メソッド
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
適用対象
.NET