WebClientProtocol WebClientProtocol WebClientProtocol WebClientProtocol Class

정의

ASP.NET을 사용하여 만든 모든 XML Web services 클라이언트 프록시의 기본 클래스를 지정합니다.Specifies the base class for all XML Web service client proxies created using ASP.NET.

public ref class WebClientProtocol abstract : System::ComponentModel::Component
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class WebClientProtocol : System.ComponentModel.Component
type WebClientProtocol = class
    inherit Component
Public MustInherit Class WebClientProtocol
Inherits Component
상속
파생
특성

예제

다음 예제는 라고 하는 XML 웹 서비스를 호출 하는 ASP.NET 웹 폼을 Math입니다.The following example is an ASP.NET Web Form, which calls an XML Web service named Math. 내는 EnterBtn_Click 함수 Web Form 프록시 정보 및 클라이언트 자격 증명을 설정 원격 XML 웹 서비스 메서드를 호출 하기 전에 프록시 클래스에 있습니다.Within the EnterBtn_Click function, the Web Form sets proxy information and client credentials on the proxy class prior to calling the remote XML Web service method.

중요

이 예제에는 사용자 입력을 허용하는 텍스트 상자가 있으므로 보안상 위험할 수 있습니다.This example has a text box that accepts user input, which is a potential security threat. 기본적으로 ASP.NET 웹 페이지는 사용자 입력 내용에 스크립트 또는 HTML 요소가 포함되어 있지 않은지 확인합니다.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. 자세한 내용은 Script Exploits Overview를 참조하세요.For more information, see Script Exploits Overview.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Net" %>
<html>
    <script language="C#" runat="server">
       void EnterBtn_Click(Object Src, EventArgs E) 
          {
             MyMath.Math math = new MyMath.Math();

             // Set the client-side credentials using the Credentials property.
             ICredentials credentials = new NetworkCredential("Joe","mydomain","password");
             math.Credentials = credentials;
             
             // Do not allow the server to redirect the request.
             math.AllowAutoRedirect = false;
             
             int total = math.Add(Convert.ToInt32(Num1.Text), Convert.ToInt32(Num2.Text));
             Total.Text = "Total: " + total.ToString();
         }
 
    </script>
 
    <body>
       <form action="MathClient.aspx" runat=server>
           
          Enter the two numbers you want to add and then press the Total button.
          <p>
          Number 1: <asp:textbox id="Num1" runat=server/>  +
          Number 2: <asp:textbox id="Num2" runat=server/> =
          <asp:button text="Total" Onclick="EnterBtn_Click" runat=server/>
          <p>
          <asp:label id="Total"  runat=server/>
          
       </form>
    </body>
 </html>

<%@ Page Language="VB" %>
<%@ Import Namespace="System.Net" %>
<html>
    <script language="VB" runat="server">
    
        Sub EnterBtn_Click(src As Object, e As EventArgs)
            Dim math As New MyMath.Math()
            
            ' Set the client-side credentials using the Credentials property.
            Dim credentials As New NetworkCredential("Joe", "password", "mydomain")
            math.Credentials = credentials
            
            ' Do not allow the server to redirect the request.
            math.AllowAutoRedirect = False
            
            Dim iTotal As Integer = math.Add(Convert.ToInt32(Num1.Text), Convert.ToInt32(Num2.Text))
            Total.Text = "Total: " & iTotal.ToString()
        End Sub
 
    </script>
 
    <body>
       <form action="MathClient.aspx" runat=server>
           
          Enter the two numbers you want to add and then press the Total button.
          <p>
          Number 1: <asp:textbox id="Num1" runat=server/>  +
          Number 2: <asp:textbox id="Num2" runat=server/> =
          <asp:button text="Total" Onclick="EnterBtn_Click" runat=server/>
          <p>
          <asp:label id="Total"  runat=server/>
          
       </form>
    </body>
 </html>

설명

속성을 WebClientProtocol 클래스는 XML 웹 서비스 요청 및 응답을 전송 하는 데 사용 되는 전송의 동작을 제어 하는 데 사용 됩니다.The properties of the WebClientProtocol class are used to control the behavior of the transport used to transmit the XML Web service request and response. 이 클래스의 속성을 속성에 매핑할 WebRequest합니다.The properties on this class map to properties found on WebRequest. 파생 된 클래스의 인스턴스 WebRequest와 같은 HttpWebRequest, ASP.NET을 사용 하 여 만든 XML Web services의 전송 메커니즘으로 사용 됩니다.Instances of classes deriving from WebRequest, such as HttpWebRequest, are used as the transport mechanism for XML Web services created using ASP.NET.

직접 또는 간접적으로 파생 된 프록시 클래스는 XML 웹 서비스와 통신 하려면 만들어야 WebClientProtocol 호출 하려는 XML 웹 서비스에 대 한 합니다.To communicate with an XML Web service, you must create a proxy class deriving indirectly or directly from WebClientProtocol for the XML Web service you want to call. 프록시 클래스를 수동으로 만드는 대신 지정된 된 XML 웹 서비스의 서비스 설명에 대 한 프록시 클래스를 만들려면 Wsdl.exe 도구를 사용할 수 있습니다.Instead of creating the proxy class manually, you can use the Wsdl.exe tool to create a proxy class for a given XML Web service's service description. 이후 WebClientProtocol 기본 클래스인 클라이언트 프록시에 대 한 프록시 클래스의 해당 속성을 찾을 수 있습니다.Since WebClientProtocol is the base class for your client proxy, you will find its properties on your proxy classes. 이러한 속성은 기본 전송의 요청 동작을 제어 하는 데 유용 합니다.These properties are useful for controlling the request behavior of the underlying transport. 예를 들어 사용을 Credentials 호출에 대 한 속성 XML 웹 서비스를 인증 합니다.For instance, use the Credentials property for calling authenticated XML Web services. 많은 합니다 WebClientProtocol 속성 초기화에 사용 되는 WebRequest 웹 요청을 수행 하는 데 사용 되는 개체입니다.Many of the WebClientProtocol properties are used to initialize the WebRequest object that is used to make the Web request.

생성자

WebClientProtocol() WebClientProtocol() WebClientProtocol() WebClientProtocol()

WebClientProtocol 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the WebClientProtocol class.

속성

CanRaiseEvents CanRaiseEvents CanRaiseEvents CanRaiseEvents

구성 요소가 이벤트를 발생시킬 수 있는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the component can raise an event.

(Inherited from Component)
ConnectionGroupName ConnectionGroupName ConnectionGroupName ConnectionGroupName

요청에 대한 연결 그룹의 이름을 가져오거나 설정합니다.Gets or sets the name of the connection group for the request.

Container Container Container Container

IContainer가 포함된 Component를 가져옵니다.Gets the IContainer that contains the Component.

(Inherited from Component)
Credentials Credentials Credentials Credentials

XML Web services 클라이언트 인증의 보안 자격 증명을 가져오거나 설정합니다.Gets or sets security credentials for XML Web service client authentication.

DesignMode DesignMode DesignMode DesignMode

Component가 현재 디자인 모드인지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the Component is currently in design mode.

(Inherited from Component)
Events Events Events Events

Component에 연결된 이벤트 처리기의 목록을 가져옵니다.Gets the list of event handlers that are attached to this Component.

(Inherited from Component)
PreAuthenticate PreAuthenticate PreAuthenticate PreAuthenticate

사전 인증을 활성화할지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets whether pre-authentication is enabled.

RequestEncoding RequestEncoding RequestEncoding RequestEncoding

XML Web services에 클라이언트 요청을 하는 데 사용되는 Encoding입니다.The Encoding used to make the client request to the XML Web service.

Site Site Site Site

ComponentISite를 가져오거나 설정합니다.Gets or sets the ISite of the Component.

(Inherited from Component)
Timeout Timeout Timeout Timeout

동기 XML Web services 요청에 대한 응답이 도착하기까지 대기하는 시간(밀리초)을 나타냅니다.Indicates the time an XML Web service client waits for the reply to a synchronous XML Web service request to arrive (in milliseconds).

Url Url Url Url

클라이언트에서 요청 중인 XML Web services의 기본 URL을 가져오거나 설정합니다.Gets or sets the base URL of the XML Web service the client is requesting.

UseDefaultCredentials UseDefaultCredentials UseDefaultCredentials UseDefaultCredentials

Credentials 속성을 DefaultCredentials 속성 값으로 설정할지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that indicates whether to set the Credentials property to the value of the DefaultCredentials property.

메서드

Abort() Abort() Abort() Abort()

XML Web services 메서드에 대한 요청을 취소합니다.Cancels a request to an XML Web service method.

AddToCache(Type, Object) AddToCache(Type, Object) AddToCache(Type, Object) AddToCache(Type, Object)

클라이언트 프로토콜 처리기의 인스턴스를 캐시에 추가합니다.Add an instance of the client protocol handler to the cache.

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Dispose() Dispose() Dispose() Dispose()

Component에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the Component.

(Inherited from Component)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Component에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Inherited from Component)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetFromCache(Type) GetFromCache(Type) GetFromCache(Type) GetFromCache(Type)

캐시에서 클라이언트 프로토콜 처리기의 인스턴스를 가져옵니다.Gets an instance of a client protocol handler from the cache.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetService(Type) GetService(Type) GetService(Type) GetService(Type)

Component 또는 해당 Container에서 제공하는 서비스를 나타내는 개체를 반환합니다.Returns an object that represents a service provided by the Component or by its Container.

(Inherited from Component)
GetType() GetType() GetType() GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
GetWebRequest(Uri) GetWebRequest(Uri) GetWebRequest(Uri) GetWebRequest(Uri)

지정된 uriWebRequest 인스턴스를 만듭니다.Creates a WebRequest instance for the specified uri. XML Web services 클라이언트 인프라에서는 XML Web services 요청을 전송하는 데 사용되는 새 WebRequest 전송 개체를 가져오기 위해 이 보호된 메서드를 호출합니다.This protected method is called by the XML Web service client infrastructure to get a new WebRequest transport object to transmit the XML Web service request.

GetWebResponse(WebRequest) GetWebResponse(WebRequest) GetWebResponse(WebRequest) GetWebResponse(WebRequest)

XML Web services 메서드에 대한 동기 요청에서 응답을 반환합니다.Returns a response from a synchronous request to an XML Web service method.

GetWebResponse(WebRequest, IAsyncResult) GetWebResponse(WebRequest, IAsyncResult) GetWebResponse(WebRequest, IAsyncResult) GetWebResponse(WebRequest, IAsyncResult)

XML Web services 메서드에 대한 비동기 요청에서 응답을 반환합니다.Returns a response from an asynchronous request to an XML Web service method. XML Web services 클라이언트 인프라에서는 비동기 XML Web services 요청에서 응답을 가져오기 위해 이 보호된 메서드를 호출합니다.This protected method is called by the XML Web service client infrastructure to get the response from an asynchronous XML Web service request.

InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
ToString() ToString() ToString() ToString()

Component의 이름이 포함된 String을 반환합니다(있는 경우).Returns a String containing the name of the Component, if any. 이 메서드는 재정의할 수 없습니다.This method should not be overridden.

(Inherited from Component)

이벤트

Disposed Disposed Disposed Disposed

Dispose() 메서드를 호출하여 구성 요소가 삭제되는 경우 발생합니다.Occurs when the component is disposed by a call to the Dispose() method.

(Inherited from Component)

적용 대상

스레드 보안

이 클래스의 속성의 새 인스턴스를에 복사 됩니다는 WebRequest 각 XML 웹 서비스 메서드 호출에 대 한 개체입니다.The properties on this class are copied into a new instance of a WebRequest object for each XML Web service method call. 동일한 XML 웹 서비스 메서드를 호출 하는 동안 WebClientProtocol 인스턴스에 서로 다른 여러 스레드에서 동시에 동기화가 없는지는 일관 된 스냅샷을 속성은 가져오기 전송 하기 위한 조치를 WebRequest 개체입니다.While you can call XML Web service methods on the same WebClientProtocol instance from different threads at the same time, there is no synchronization done to ensure that a consistent snapshot of the properties will get transferred to the WebRequest object. 따라서 속성을 수정 하 고 서로 다른 동시 메서드 호출을 수행 하는 경우 XML Web의 다른 인스턴스를 사용 해야 하는 스레드 서비스 프록시 또는 고유한 동기화를 제공 합니다.Therefore if you need to modify the properties and make concurrent method calls from different threads you should use a different instance of the XML Web service proxy or provide your own synchronization.

추가 정보