更新 : 2007 年 11 月
システムが操作呼び出しプロセスの中でサービス オブジェクトをいつリサイクルするかを指定します。
名前空間 :
System.ServiceModel
アセンブリ :
System.ServiceModel (System.ServiceModel.dll 内)
Public Enumeration ReleaseInstanceMode
Dim instance As ReleaseInstanceMode
public enum ReleaseInstanceMode
public enum class ReleaseInstanceMode
public enum ReleaseInstanceMode
public enum ReleaseInstanceMode
| メンバ名 | 説明 |
|---|
| None | オブジェクトを InstanceContextMode 値に従ってリサイクルします。 |
| BeforeCall | オブジェクトを操作を呼び出す前にリサイクルします。 |
| AfterCall | オブジェクトを操作の完了後にリサイクルします。 |
| BeforeAndAfterCall | オブジェクトを操作を呼び出す前と操作の完了後にリサイクルします。 |
ReleaseInstanceMode を ReleaseInstanceMode プロパティと共に使用して、現在のサービス オブジェクトを呼び出しプロセスの特定の時点でリサイクルする必要があることを 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);
}
}
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
.NET Framework
サポート対象 : 3.5、3.0
参照