다음을 통해 공유


ReleaseInstanceMode 열거형

정의

시스템에서 작업 호출 프로세스의 서비스 개체를 재활용하는 시기를 지정합니다.

public enum class ReleaseInstanceMode
public enum ReleaseInstanceMode
type ReleaseInstanceMode = 
Public Enum ReleaseInstanceMode
상속
ReleaseInstanceMode

필드

AfterCall 2

작업을 완료한 후에 개체를 재활용합니다.

BeforeAndAfterCall 3

작업을 호출하기 전과 작업을 완료한 후에 개체를 재활용합니다.

BeforeCall 1

작업을 호출하기 전에 개체를 재활용합니다.

None 0

InstanceContextMode 값에 따라 개체를 재활용합니다.

예제

다음 예제 코드에서는 호출 전후에 서비스 개체를 재활용하기 위해 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 값에 따라 서비스 개체를 재활용하는 것입니다.

적용 대상