ReleaseInstanceMode 列挙型
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
システムが操作呼び出しプロセスの中でサービス オブジェクトをいつリサイクルするかを指定します。
public enum class ReleaseInstanceMode
public enum ReleaseInstanceMode
type ReleaseInstanceMode =
Public Enum ReleaseInstanceMode
- 継承
名前 | 値 | 説明 |
---|---|---|
AfterCall | 2 | オブジェクトを操作の完了後にリサイクルします。 |
BeforeAndAfterCall | 3 | オブジェクトを操作を呼び出す前と操作の完了後にリサイクルします。 |
BeforeCall | 1 | オブジェクトを操作を呼び出す前にリサイクルします。 |
None | 0 | オブジェクトを 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);
}
}
Friend Class SampleService
Implements ISampleService
Private id As Guid
Private session As String
Public Sub New()
id = Guid.NewGuid()
session = OperationContext.Current.SessionId
Console.WriteLine("Object {0} has been created.", id)
Console.WriteLine("For session {0}", session)
End Sub
<OperationBehavior(ReleaseInstanceMode:=ReleaseInstanceMode.BeforeAndAfterCall)> _
Public Function SampleMethod(ByVal msg As String) As String Implements ISampleService.SampleMethod
Console.WriteLine("The caller said: ""{0}""", msg)
Console.WriteLine("For session {0}", OperationContext.Current.SessionId)
Return "The service greets you: " & msg
End Function
Protected Overrides Sub Finalize()
Console.WriteLine("Object {0} has been destroyed.", id)
Console.WriteLine("For session {0}", session)
End Sub
End Class
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 |
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。