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
AfterCall | 2 | Recycle l'objet après la fin de l'opération. |
BeforeAndAfterCall | 3 | Recycle l'objet avant d'appeler l'opération et après la fin de l'opération. |
BeforeCall | 1 | Recycle l'objet avant d'appeler l'opération. |
None | 0 | Recycle l'objet d'après la valeur InstanceContextMode. |
Exemples
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);
}
}
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é with ReleaseInstanceMode pour informer Windows Communication Foundation (WCF) que l’objet de service actuel doit être recyclé à un moment particulier du processus d’appel. Par défaut, l'objet de service est recyclé en fonction de la valeur InstanceContextMode.