Using 文
.NET プロキシ・オブジェクトに関連付けられているリソースは、できるだけ早く解放することが重要です。開いているオブジェクトはすべて、クライアント側とサーバ側の両方で関連付けられたリソースを消費しています。.NET の場合、ガーベッジ・コレクションは自動化されていますが、その動作は確定されたものではありません。つまり、ガーベッジ・コレクタが実行されるタイミングを、プログラムで制御することはできません。
オブジェクトのリソースを明示的に解放するには、そのオブジェクトの Dispose メソッドを呼び出します。ここでは、C# の using 文を使用します。一般的には、この方法が安全で便利です。using 文を使用する場合は、オブジェクトをインスタンス化し、中括弧を使用してそのスコープを作成します。コードの実行が閉じ中括弧に達すると、そのオブジェクトに対して Dispose が自動的に呼び出されます。
次の例では、using 文を使用して、Contact オブジェクトのスコープを作成しています。コードの実行が閉じ中括弧に達すると、オブジェクトはサーバから切断され、リソースが解放されます。
try
{
Provider.Contact contact;
using (contact = Provider.Contact.OpenId(cnCache, "1"))
{
Console.WriteLine("Name: {0}", contact.Name);
Console.WriteLine("Type: {0}", contact.ContactType);
}
if (!contact.IsConnected)
{
Console.WriteLine("Contact disconnected");
}
}
catch (CacheException e){}
この例の cnCache は、開いている CacheConnection インスタンスを表します。