Auf Englisch lesen

Freigeben über


ReleaseInstanceMode Enumeration

Definition

Gibt an, wenn das System das Dienstobjekt im Vorgangsaufrufprozess wiederverwendet.

C#
public enum ReleaseInstanceMode
Vererbung
ReleaseInstanceMode

Felder

Name Wert Beschreibung
AfterCall 2

Verwendet das Objekt nach dem Abschluss des Vorgangs wieder.

BeforeAndAfterCall 3

Verwendet das Objekt vor dem Aufruf des Vorgangs und nach dem Abschluss des Vorgangs wieder.

BeforeCall 1

Verwendet das Objekt vor dem Aufruf des Vorgangs wieder.

None 0

Verwendet das Objekt gemäß dem InstanceContextMode-Wert wieder.

Beispiele

Mit dem folgenden Beispielcode wird die Nutzung von ReleaseInstanceMode zum Wiederverwenden von Dienstobjekten vor und nach dem Aufruf gezeigt.

C#
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);
  }
}

Hinweise

Verwenden Sie mit der ReleaseInstanceModeReleaseInstanceMode -Eigenschaft, um Windows Communication Foundation (WCF) darüber zu informieren, dass das aktuelle Dienstobjekt an einem bestimmten Punkt des Aufrufprozesses wiederverwendet werden muss. Das Standardverhalten besteht darin, gemäß dem InstanceContextMode-Wert ein Dienstobjekt wiederzuverwenden.

Gilt für:

Produkt Versionen
.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