Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

ReleaseInstanceMode énumération

 

Date de publication : novembre 2016

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

Espace de noms:   System.ServiceModel
Assembly:  System.ServiceModel (dans System.ServiceModel.dll)

public enum ReleaseInstanceMode

Nom du membreDescription
AfterCall

Recycle l'objet après la fin de l'opération.

BeforeAndAfterCall

Recycle l'objet avant d'appeler l'opération et après la fin de l'opération.

BeforeCall

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

None

Recycle l'objet d'après la valeur InstanceContextMode.

Utilisez le ReleaseInstanceMode avec la propriété ReleaseInstanceMode pour informer Windows Communication Foundation (WCF) que l'objet de service actuel doit être recyclé à un point particulier du processus d'appel. Par défaut, l'objet de service est recyclé en fonction de la valeur InstanceContextMode.

Le code d'exemple suivant illustre l'utilisation de ReleaseInstanceMode pour recycler des objets de service 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);
  }
}

.NET Framework
Disponible depuis 3.0
Retour au début
Afficher: