Partager via


ReleaseInstanceMode Énumération

Définition

Spécifie quand le système recycle l’objet de service dans le processus d’appel d’opération.

public enum class ReleaseInstanceMode
public enum ReleaseInstanceMode
type ReleaseInstanceMode = 
Public Enum ReleaseInstanceMode
Héritage
ReleaseInstanceMode

Champs

Nom Valeur Description
None 0

Recycle l’objet en fonction de la InstanceContextMode valeur.

BeforeCall 1

Recycle l’objet avant d’appeler l’opération.

AfterCall 2

Recycle l’objet après l’achèvement de l’opération.

BeforeAndAfterCall 3

Recycle l’objet avant d’appeler l’opération et après l’achèvement de l’opération.

Exemples

L’exemple de code suivant montre l’utilisation d’objets de ReleaseInstanceMode service à la fois avant et après un appel.

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

Remarques

Utilisez la ReleaseInstanceMode propriété avec la ReleaseInstanceMode propriété pour informer Windows Communication Foundation (WCF) que l’objet de service actuel doit être recyclé à un point particulier dans le processus d’appel. Le comportement par défaut consiste à recycler un objet de service en fonction de la InstanceContextMode valeur.

S’applique à