ReleaseInstanceMode Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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.