SoapExtension.Initialize(Object) 메서드

정의

파생 클래스에서 재정의되는 경우 SOAP 확장에서 메서드에 캐시된 GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) 데이터를 사용하여 자신을 초기화할 수 있습니다.

public:
 abstract void Initialize(System::Object ^ initializer);
public abstract void Initialize(object initializer);
abstract member Initialize : obj -> unit
Public MustOverride Sub Initialize (initializer As Object)

매개 변수

예제

다음 예제에서는 메서드 중에 캐시된 데이터를 사용하는 방법을 보여 줍니다 GetInitializer .

   // Receive the file name stored by GetInitializer and store it in
   // a member variable for this specific instance.
public:
   virtual void Initialize( Object^ initializer ) override
   {
      filename = dynamic_cast<String^>(initializer);
   }
// Receive the file name stored by GetInitializer and store it in
// a member variable for this specific instance.
public override void Initialize(object initializer) {
    filename = (string) initializer;
}
' Receive the file name stored by GetInitializer and store it in a 
' member variable for this specific instance.
Public Overrides Sub Initialize(initializer As Object)
    m_filename = CStr(initializer)
End Sub

설명

SOAP 확장에는 데이터를 초기화할 수 있는 세 가지 기회가 있으며 모두 다른 용도로 사용됩니다.

  • 클래스 생성자 - SOAP 확장이 인스턴스화될 때마다 클래스 생성자가 호출되며 일반적으로 멤버 변수를 초기화하는 데 사용됩니다.

  • GetInitializer - 이 메서드는 XML Web services 메서드에 대한 SOAP 요청이 처음 수행되면 한 번만 호출됩니다. 사용자 지정 특성이 XML 웹 서비스 메서드에 적용되면 메서드가 GetInitializer 호출됩니다. 이렇게 하면 SOAP 확장에서 프로토타입 정보에 대한 XML 웹 서비스 메서드를 심문 LogicalMethodInfo 하거나 파생 클래스에서 SoapExtensionAttribute전달된 확장 관련 데이터에 액세스할 수 있습니다. 반환 값은 ASP.NET 의해 캐시되고 후속 Initialize 메서드로 전달됩니다. 따라서 초기화 GetInitializer 는 기본적으로 일회성 성능 적중으로 캡슐화됩니다.

  • Initialize- 이 메서드는 XML 웹 서비스 메서드에 SOAP 요청이 수행될 때마다 호출되지만 초기화된 Object 메서드가 전달된다는 측면에서 GetInitializer 클래스 생성자에 비해 이점이 있습니다.

메모

구성 파일에서 SoapExtensionAttributesoapExtensionTypes< 요소를 사용하여> 파생되지 않고 SOAP 확장을 추가할 수도 있습니다. 자세한 내용은 SOAP 확장을 사용하여 soapExtensionTypes< 요소 및 SOAP 메시지 수정을 참조>하세요.

적용 대상