ReleaseInstanceMode Enum
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan kapan sistem mendaur ulang objek layanan dalam proses pemanggilan operasi.
public enum class ReleaseInstanceMode
public enum ReleaseInstanceMode
type ReleaseInstanceMode =
Public Enum ReleaseInstanceMode
- Warisan
Bidang
| Nama | Nilai | Deskripsi |
|---|---|---|
| None | 0 | Mendaur ulang objek sesuai dengan InstanceContextMode nilai. |
| BeforeCall | 1 | Mendaur ulang objek sebelum memanggil operasi. |
| AfterCall | 2 | Mendaur ulang objek berikutnya hingga penyelesaian operasi. |
| BeforeAndAfterCall | 3 | Mendaur ulang objek sebelum memanggil operasi dan selanjutnya ke penyelesaian operasi. |
Contoh
Contoh kode berikut menunjukkan penggunaan ReleaseInstanceMode untuk mendaur ulang objek layanan baik sebelum dan sesudah panggilan.
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
Keterangan
ReleaseInstanceMode Gunakan dengan ReleaseInstanceMode properti untuk menginformasikan Windows Communication Foundation (WCF) bahwa objek layanan saat ini harus didaur ulang pada titik tertentu dalam proses pemanggilan. Perilaku default adalah mendaur ulang objek layanan sesuai dengan InstanceContextMode nilai.