LifetimeServices クラス
アセンブリ: mscorlib (mscorlib.dll 内)


配布されたガベージ コレクションは、サーバー アプリケーションの有効期間を制御し、有効期限が切れた場合にいつサーバー アプリケーションを削除するかを制御する役割を果たします。従来、配布されたガベージ コレクションは、制御のために参照カウントと ping を使用していました。この方法は、オブジェクトごとのクライアント数が少ない場合には機能しますが、千単位のクライアント数の場合にはうまく機能しません。有効期間サービスは、従来の配布されたガベージ コレクタの機能を実行できます。さらに、クライアント数が増加した場合にも対応できます。
有効期間サービスは、リモートの各アクティブ化オブジェクトにリースを関連付けます。リースの有効期限が切れると、オブジェクトが削除されます。
![]() |
---|
このクラスはリンク確認要求を行います。直前の呼び出し元にインフラストラクチャ アクセス許可がない場合、SecurityException がスローされます。詳細については、「リンク確認要求」を参照してください。 |

Imports System Imports System.Runtime.Remoting Imports System.Runtime.Remoting.Channels Imports System.Runtime.Remoting.Channels.Http Imports System.Runtime.Remoting.Lifetime Public Class Server Public Shared Sub Main() 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)) 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 'Main End Class 'Server
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() { 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)); RemotingConfiguration.RegisterActivatedServiceType(typeof(ClientActivatedType)); Console.WriteLine("The server is listening. Press Enter to exit...."); Console.ReadLine(); Console.WriteLine("GC'ing."); GC.Collect(); GC.WaitForPendingFinalizers(); } }
#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; }

- SecurityPermission (インフラストラクチャ コードを操作するために必要なアクセス許可)。要求値 : SecurityAction.LinkDemand; アクセス許可値 : SecurityPermissionFlag.Infrastructure

System.Runtime.Remoting.Lifetime.LifetimeServices


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からLifetimeServices クラスを検索する場合は、下記のリンクをクリックしてください。

- LifetimeServices クラスのページへのリンク