ReleaseInstanceMode Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje, kdy systém recykluje objekt služby v procesu vyvolání operace.
public enum class ReleaseInstanceMode
public enum ReleaseInstanceMode
type ReleaseInstanceMode =
Public Enum ReleaseInstanceMode
- Dědičnost
Pole
AfterCall | 2 | Recykluje objekt po dokončení operace. |
BeforeAndAfterCall | 3 | Recykluje objekt před voláním operace a po dokončení operace. |
BeforeCall | 1 | Recykluje objekt před voláním operace. |
None | 0 | Recykluje objekt podle InstanceContextMode hodnoty . |
Příklady
Následující příklad kódu ukazuje použití ReleaseInstanceMode k recyklaci objektů služby před i po volání.
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
Poznámky
ReleaseInstanceMode Pomocí s ReleaseInstanceMode vlastností informujte Windows Communication Foundation (WCF), že aktuální objekt služby musí být recyklován v určitém bodě v procesu vyvolání. Výchozím chováním je recyklace objektu služby podle InstanceContextMode hodnoty .