Bagikan melalui


ReleaseInstanceMode Enum

Definisi

Menentukan kapan sistem mendaur ulang objek layanan dalam proses pemanggilan operasi.

public enum class ReleaseInstanceMode
public enum ReleaseInstanceMode
type ReleaseInstanceMode = 
Public Enum ReleaseInstanceMode
Warisan
ReleaseInstanceMode

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.

Berlaku untuk