System.ServiceModel 名前空間


.NET Framework クラス ライブラリ
ReleaseInstanceMode 列挙体

更新 : 2007 年 11 月

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

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

Visual Basic (宣言)
Public Enumeration ReleaseInstanceMode
Visual Basic (使用法)
Dim instance As ReleaseInstanceMode
C#
public enum ReleaseInstanceMode
Visual C++
public enum class ReleaseInstanceMode
J#
public enum ReleaseInstanceMode
JScript
public enum ReleaseInstanceMode
メンバ

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

ReleaseInstanceModeReleaseInstanceMode プロパティと共に使用して、現在のサービス オブジェクトを呼び出しプロセスの特定の時点でリサイクルする必要があることを Windows Communication Foundation (WCF) に通知します。既定の動作では、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);
  }
}
プラットフォーム

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
バージョン情報

.NET Framework

サポート対象 : 3.5、3.0
参照

参照

タグ :


Page view tracker