エクスポート (0) 印刷
すべて展開
展開 最小化

ReleaseInstanceMode 列挙体

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

名前空間: System.ServiceModel
アセンブリ: System.ServiceModel (system.servicemodel.dll 内)

public enum ReleaseInstanceMode
public enum ReleaseInstanceMode
public enum ReleaseInstanceMode

 メンバ名説明
AfterCallオブジェクトを操作の完了後にリサイクルします。 
BeforeAndAfterCallオブジェクトを操作を呼び出す前と操作の完了後にリサイクルします。 
BeforeCallオブジェクトを操作を呼び出す前にリサイクルします。 
Noneオブジェクトを InstanceContextMode 値に従ってリサイクルします。 

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

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

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);
  }
}

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

.NET Framework

サポート対象 : 3.0

コミュニティの追加

追加
表示:
© 2014 Microsoft