이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

ChannelFactory 클래스

 

게시 날짜: 2016년 11월

클라이언트에서 서비스 끝점으로 메시지를 보낼 때 사용하는 채널을 만들고 관리합니다.

네임스페이스:   System.ServiceModel
어셈블리:  System.ServiceModel(System.ServiceModel.dll에 있음)


public abstract class ChannelFactory : CommunicationObject, IChannelFactory, 
	ICommunicationObject, IDisposable

이름설명
System_CAPS_protmethodChannelFactory()

ChannelFactory 클래스의 새 인스턴스를 초기화합니다.

이름설명
System_CAPS_pubpropertyCredentials

팩터리에서 생성한 채널을 통해 클라이언트가 서비스 끝점과 통신할 때 사용하는 자격 증명을 가져옵니다.

System_CAPS_protpropertyDefaultCloseTimeout

닫기 작업을 완료하기 위해 제공되는 기본 시간 간격을 가져옵니다.(CommunicationObject.DefaultCloseTimeout을(를) 재정의함)

System_CAPS_protpropertyDefaultOpenTimeout

열기 작업을 완료하기 위해 제공되는 기본 시간 간격을 가져옵니다.(CommunicationObject.DefaultOpenTimeout을(를) 재정의함)

System_CAPS_pubpropertyEndpoint

팩터리에서 만든 채널이 연결되는 서비스 끝점을 가져옵니다.

System_CAPS_protpropertyIsDisposed

통신 개체가 삭제되었는지 여부를 나타내는 값을 가져옵니다.(CommunicationObject에서 상속됨)

System_CAPS_pubpropertyState

통신 개체의 현재 상태를 나타내는 값을 가져옵니다.(CommunicationObject에서 상속됨)

System_CAPS_protpropertyThisLock

상태 전환 중에 클래스 인스턴스를 보호하는 상호 배타적인 전용 잠금을 가져옵니다.(CommunicationObject에서 상속됨)

이름설명
System_CAPS_pubmethodAbort()

통신 개체가 현재 상태에서 Closing 상태로 즉시 전환되도록 합니다.(CommunicationObject에서 상속됨)

System_CAPS_protmethodApplyConfiguration(String)

지정된 구성 파일에서 제공한 동작 및 채널 팩터리의 서비스 끝점에 있는 동작을 통해 채널 팩터리를 초기화합니다.

System_CAPS_pubmethodBeginClose(AsyncCallback, Object)

통신 개체를 닫기 위한 비동기 작업을 시작합니다.(CommunicationObject에서 상속됨)

System_CAPS_pubmethodBeginClose(TimeSpan, AsyncCallback, Object)

지정된 제한 시간 내에서 통신 개체를 닫기 위한 비동기 작업을 시작합니다.(CommunicationObject에서 상속됨)

System_CAPS_pubmethodBeginOpen(AsyncCallback, Object)

통신 개체를 열기 위한 비동기 작업을 시작합니다.(CommunicationObject에서 상속됨)

System_CAPS_pubmethodBeginOpen(TimeSpan, AsyncCallback, Object)

지정된 시간 간격 내에서 통신 개체를 열기 위한 비동기 작업을 시작합니다.(CommunicationObject에서 상속됨)

System_CAPS_pubmethodClose()

통신 개체가 현재 상태에서 Closed 상태로 전환되도록 합니다.(CommunicationObject에서 상속됨)

System_CAPS_pubmethodClose(TimeSpan)

통신 개체가 지정된 시간 간격 내에 현재 상태에서 Closed 상태로 전환되도록 합니다.(CommunicationObject에서 상속됨)

System_CAPS_protmethodCreateDescription()

파생 클래스에서 구현되는 경우 채널 팩터리와 연결된 서비스 끝점에 대한 설명을 만듭니다.

System_CAPS_protmethodCreateFactory()

팩터리의 현재 끝점에 대해 채널 팩터리를 생성합니다.

System_CAPS_pubmethodEndClose(IAsyncResult)

통신 개체를 닫기 위한 비동기 작업을 완료합니다.(CommunicationObject에서 상속됨)

System_CAPS_pubmethodEndOpen(IAsyncResult)

통신 개체를 열기 위한 비동기 작업을 완료합니다.(CommunicationObject에서 상속됨)

System_CAPS_protmethodEnsureOpened()

현재 채널 팩터리가 아직 열리지 않은 경우 이를 엽니다.

System_CAPS_pubmethodEquals(Object)

지정한 개체가 현재 개체와 같은지 여부를 확인합니다. (Object에서 상속됨)

System_CAPS_protmethodFault()

통신 개체가 현재 상태에서 Faulted 상태로 전환되도록 합니다.(CommunicationObject에서 상속됨)

System_CAPS_protmethodFinalize()

개체가 가비지 수집자에서 회수되기 전에, 해당 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)

System_CAPS_protmethodGetCommunicationObjectType()

통신 개체의 형식을 가져옵니다.(CommunicationObject에서 상속됨)

System_CAPS_pubmethodGetHashCode()

기본 해시 함수로 작동합니다.(Object에서 상속됨)

System_CAPS_pubmethodGetProperty<T>()

요청한 형식의 개체가 있으면 채널 스택의 해당 계층에서 그 개체를 반환하고, 개체가 없으면 null을 반환합니다.

System_CAPS_pubmethodGetType()

현재 인스턴스의 Type을 가져옵니다.(Object에서 상속됨)

System_CAPS_protmethodInitializeEndpoint(Binding, EndpointAddress)

지정된 바인딩 및 주소를 사용하여 채널 팩터리의 서비스 끝점을 초기화합니다.

System_CAPS_protmethodInitializeEndpoint(ServiceEndpoint)

지정된 끝점을 사용하여 채널 팩터리의 서비스 끝점을 초기화합니다.

System_CAPS_protmethodInitializeEndpoint(String, EndpointAddress)

지정된 주소 및 구성을 사용하여 채널 팩터리의 서비스 끝점을 초기화합니다.

System_CAPS_protmethodMemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.(Object에서 상속됨)

System_CAPS_protmethodOnAbort()

현재 채널 팩터리의 내부 채널 팩터리를 종료합니다.(CommunicationObject.OnAbort()을(를) 재정의함)

System_CAPS_protmethodOnBeginClose(TimeSpan, AsyncCallback, Object)

연결된 상태 개체가 있는 현재 채널 팩터리의 내부 채널 팩터리에서 비동기 닫기 작업을 시작합니다.(CommunicationObject.OnBeginClose(TimeSpan, AsyncCallback, Object)을(를) 재정의함)

System_CAPS_protmethodOnBeginOpen(TimeSpan, AsyncCallback, Object)

연결된 상태 개체가 있는 현재 채널 팩터리의 내부 채널 팩터리에서 비동기 열기 작업을 시작합니다.(CommunicationObject.OnBeginOpen(TimeSpan, AsyncCallback, Object)을(를) 재정의함)

System_CAPS_protmethodOnClose(TimeSpan)

작업 완료를 위해 지정된 시간 제한을 사용하여 내부 채널 팩터리에 대한 닫기를 호출합니다.(CommunicationObject.OnClose(TimeSpan)을(를) 재정의함)

System_CAPS_protmethodOnClosed()

통신 개체를 Closing 상태로 전환하는 중에 호출됩니다.(CommunicationObject에서 상속됨)

System_CAPS_protmethodOnClosing()

통신 개체를 Closing 상태로 전환하는 중에 호출됩니다.(CommunicationObject에서 상속됨)

System_CAPS_protmethodOnEndClose(IAsyncResult)

현재 채널 팩터리의 내부 채널 팩터리에 대한 비동기 닫기 작업을 완료합니다.(CommunicationObject.OnEndClose(IAsyncResult)을(를) 재정의함)

System_CAPS_protmethodOnEndOpen(IAsyncResult)

현재 채널 팩터리의 내부 채널 팩터리에 대한 비동기 열기 작업을 완료합니다.(CommunicationObject.OnEndOpen(IAsyncResult)을(를) 재정의함)

System_CAPS_protmethodOnFaulted()

통신 개체가 동기화 오류 작업의 호출로 인해 Faulted 상태로 전환된 후 해당 통신 개체에 대한 처리를 삽입합니다.(CommunicationObject에서 상속됨)

System_CAPS_protmethodOnOpen(TimeSpan)

작업 완료를 위해 지정된 시간 제한을 사용하여 현재 채널 팩터리의 내부 채널 팩터리에 대한 열기를 호출합니다.(CommunicationObject.OnOpen(TimeSpan)을(를) 재정의함)

System_CAPS_protmethodOnOpened()

채널 팩터리에 대한 ClientCredentials 개체의 읽기 전용 복사본을 초기화합니다.(CommunicationObject.OnOpened()을(를) 재정의함)

System_CAPS_protmethodOnOpening()

현재 채널의 내부 채널 팩터리를 생성합니다.(CommunicationObject.OnOpening()을(를) 재정의함)

System_CAPS_pubmethodOpen()

통신 개체가 Created 상태에서 Opened 상태로 전환되도록 합니다.(CommunicationObject에서 상속됨)

System_CAPS_pubmethodOpen(TimeSpan)

통신 개체가 지정된 시간 간격 내에 Created 상태에서 Opened 상태로 전환되도록 합니다.(CommunicationObject에서 상속됨)

System_CAPS_protmethodThrowIfDisposed()

통신 개체가 삭제되면 예외가 throw됩니다.(CommunicationObject에서 상속됨)

System_CAPS_protmethodThrowIfDisposedOrImmutable()

통신 개체의 State 속성이 Created 상태로 설정되지 않은 경우 예외가 throw됩니다.(CommunicationObject에서 상속됨)

System_CAPS_protmethodThrowIfDisposedOrNotOpen()

통신 개체가 Opened 상태가 아니면 예외를 throw합니다.(CommunicationObject에서 상속됨)

System_CAPS_pubmethodToString()

현재 개체를 나타내는 문자열을 반환합니다.(Object에서 상속됨)

이름설명
System_CAPS_pubeventClosed

통신 개체가 Closed 상태로 전환될 때 발생합니다.(CommunicationObject에서 상속됨)

System_CAPS_pubeventClosing

통신 개체가 Closing 상태로 전환될 때 발생합니다.(CommunicationObject에서 상속됨)

System_CAPS_pubeventFaulted

통신 개체가 Faulted 상태로 전환될 때 발생합니다.(CommunicationObject에서 상속됨)

System_CAPS_pubeventOpened

통신 개체가 Opened 상태로 전환될 때 발생합니다.(CommunicationObject에서 상속됨)

System_CAPS_pubeventOpening

통신 개체가 Opening 상태로 전환될 때 발생합니다.(CommunicationObject에서 상속됨)

이름설명
System_CAPS_pubinterfaceSystem_CAPS_privmethodIDisposable.Dispose()

현재 채널 팩터리를 닫습니다.

Channel factories that implement the T:System.ServiceModel.Channels.IChannelFactory interface and their associated channels are generally used by the initiators of a communication pattern. Listener factories that implement the T:System.ServiceModel.Channels.IChannelListener interface and their associated listeners provide the mechanisms with which channels are accepted for communications.

This class is not part of the channel model, but of the service model. The M:System.ServiceModel.ChannelFactory.CreateFactory method provides the means to create an T:System.ServiceModel.Channels.IChannelFactory for a service endpoint. Use it to construct a client that hooks up to an interface contract on the service without using metadata or policy.

System_CAPS_note참고

Setting ChannelFactory.Credentials.Windows.AllowedImpersonationLevel to TokenImpersonationLevel.Anonymous always results in an anonymous logon regardless of impersonation level.

Special note for Managed C++ users deriving from this class:

  • Put your cleanup code in (On)(Begin)Close (and/or OnAbort), not in a destructor.

  • Avoid destructors; they cause the compiler to auto-generate T:System.IDisposable.

  • Avoid non-reference members; they can cause the compiler to auto-generate T:System.IDisposable.

  • Avoid using a finalizer; but if you include one, you should suppress the build warning and call M:System.GC.SuppressFinalize(System.Object) and the finalizer itself from (On)(Begin)Close (and/or OnAbort) to emulate what would have been the auto-generated T:System.IDisposable behavior.

When adding behaviors programmatically, the behavior is added to the appropriate Behaviors property on the T:System.ServiceModel.ChannelFactory prior to the creation of any channel. See the example section for a code sample.

The following code example shows how to insert programmatically a client behavior prior to the creation of the channel object by the factory.

public class Client
{
  public static void Main()
  {
    try
    {
      // Picks up configuration from the config file.
      ChannelFactory<ISampleServiceChannel> factory 
        = new ChannelFactory<ISampleServiceChannel>("WSHttpBinding_ISampleService");

      // Add the client side behavior programmatically to all created channels.
      factory.Endpoint.Behaviors.Add(new EndpointBehaviorMessageInspector());

      ISampleServiceChannel wcfClientChannel = factory.CreateChannel();

      // Making calls.
      Console.WriteLine("Enter the greeting to send: ");
      string greeting = Console.ReadLine();
      Console.WriteLine("The service responded: " + wcfClientChannel.SampleMethod(greeting));

      Console.WriteLine("Press ENTER to exit:");
      Console.ReadLine();

      // Done with service. 
      wcfClientChannel.Close();
      Console.WriteLine("Done!");
    }
    catch (TimeoutException timeProblem)
    {
      Console.WriteLine("The service operation timed out. " + timeProblem.Message);
      Console.Read();
    }
    catch (FaultException<SampleFault> fault)
    {
      Console.WriteLine("SampleFault fault occurred: {0}", fault.Detail.FaultMessage);
      Console.Read();
    }
    catch (CommunicationException commProblem)
    {
      Console.WriteLine("There was a communication problem. " + commProblem.Message);
      Console.Read();
    }
  }

유니버설 Windows 플랫폼
8 이후 사용 가능
.NET Framework
3.0 이후 사용 가능
이식 가능한 클래스 라이브러리
이식 가능한 .NET 플랫폼 에서 지원됨
Silverlight
2.0 이후 사용 가능
Windows Phone Silverlight
7.0 이후 사용 가능

이 형식의 모든 public static(Visual Basic의 공유 Visual Basic의 경우) 멤버는 스레드로부터 안전합니다. 인스턴스 멤버는 스레드로부터의 안전이 보장되지 않습니다.

맨 위로 이동
표시: