英語で読む

次の方法で共有


ReleaseInstanceMode 列挙型

定義

システムが操作呼び出しプロセスの中でサービス オブジェクトをいつリサイクルするかを指定します。

C#
public enum ReleaseInstanceMode
継承
ReleaseInstanceMode

フィールド

名前 説明
AfterCall 2

オブジェクトを操作の完了後にリサイクルします。

BeforeAndAfterCall 3

オブジェクトを操作を呼び出す前と操作の完了後にリサイクルします。

BeforeCall 1

オブジェクトを操作を呼び出す前にリサイクルします。

None 0

オブジェクトを InstanceContextMode 値に従ってリサイクルします。

ReleaseInstanceMode を使用して呼び出しの前後にサービス オブジェクトをリサイクルするコード例を次に示します。

C#
class SampleService : ISampleService
{
  private Guid id;
  private string session;

  public SampleService()
  {
    id = Guid.NewGuid();
    session = OperationContext.Current.SessionId;
    Console.WriteLine("Object {0} has been created.", id);
    Console.WriteLine("For session {0}", session);
  }
  [OperationBehavior(
          ReleaseInstanceMode=ReleaseInstanceMode.BeforeAndAfterCall
  )]
  public string  SampleMethod(string msg)
  {
    Console.WriteLine("The caller said: \"{0}\"", msg);
    Console.WriteLine("For session {0}", OperationContext.Current.SessionId);
    return "The service greets you: " + msg;
  }

  ~SampleService()
  {
    Console.WriteLine("Object {0} has been destroyed.", id);
    Console.WriteLine("For session {0}", session);
  }
}

注釈

ReleaseInstanceModeを プロパティと共ReleaseInstanceModeに使用して、呼び出しプロセスの特定の時点で現在のサービス オブジェクトを再利用する必要があることを Windows Communication Foundation (WCF) に通知します。 既定の動作では、InstanceContextMode 値に従ってサービス オブジェクトをリサイクルします。

適用対象

製品 バージョン
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1