다음을 통해 공유


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)

매개 변수

initializer
Object

ASP.NET에 의해 캐시된 Object에서 반환되는 GetInitializer(LogicalMethodInfo, SoapExtensionAttribute)입니다.

예제

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

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

참고

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

적용 대상