ReleaseInstanceMode Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает, когда система перезапускает объект службы в процессе вызова операции.
public enum class ReleaseInstanceMode
public enum ReleaseInstanceMode
type ReleaseInstanceMode =
Public Enum ReleaseInstanceMode
- Наследование
Поля
| Имя | Значение | Описание |
|---|---|---|
| None | 0 | Перезапускает объект в соответствии со значением InstanceContextMode . |
| BeforeCall | 1 | Перезапускает объект до вызова операции. |
| AfterCall | 2 | Перезапускает объект после завершения операции. |
| BeforeAndAfterCall | 3 | Перезапускает объект до вызова операции и последующего завершения операции. |
Примеры
В следующем примере кода показано использование ReleaseInstanceMode объектов службы как до, так и после вызова.
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
Комментарии
ReleaseInstanceMode Используйте свойство для ReleaseInstanceMode информирования Windows Communication Foundation (WCF), что текущий объект службы должен быть переработан в определенной точке процесса вызова. Поведение по умолчанию заключается в перезапуске объекта службы в соответствии со значением InstanceContextMode .