WebClientProtocol WebClientProtocol WebClientProtocol WebClientProtocol Class

Определение

Задает базовый класс для всех прокси-классов клиентов веб-служб XML, созданных с помощью ASP.NET.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
Наследование
Производный
Атрибуты

Примеры

Ниже приведен пример веб-формы ASP.NET, которая вызывает веб-службу XML с именем Math.The following example is an ASP.NET Web Form, which calls an XML Web service named Math. В рамках EnterBtn_Click функции веб-форма задает сведения о прокси-сервере и клиентские учетные данные для класса-посредника перед вызовом метода удаленной веб-службы 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. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.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, используются в качестве механизма транспорта для веб-служб XML, созданных с помощью ASP.NET.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. Вместо создания класса-посредника вручную можно использовать средство WSDL. exe, чтобы создать класс-посредник для описания службы веб-службы XML.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.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

Класс Encoding используется для выполнения клиентского запроса к веб-службе XML.The Encoding used to make the client request to the XML Web service.

Site Site Site Site

Возвращает или задает ISite объекта Component.Gets or sets the ISite of the Component.

(Inherited from Component)
Timeout Timeout Timeout Timeout

Указывает время (в миллисекундах), в течение которого клиент XML-веб-службы ждет ответа на синхронный запрос XML-веб-службы.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

Получает или задает URL-адрес веб-службы XML, запрашиваемой клиентом.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.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)

Создает экземпляр класса WebRequest для указанного идентификатора uri.Creates a WebRequest instance for the specified uri. Этот защищенный метод вызывается инфраструктурой клиента веб-службы XML для получения нового объекта транспорта WebRequest для передачи запроса веб-службы XML.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.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.Returns a response from an asynchronous request to an XML Web service method. Данный защищенный метод вызывается клиентской инфраструктурой веб-службы XML для получения ответа из асинхронного запроса веб-службы XML.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()

Возвращает объект String, содержащий имя Component, если оно есть.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 или предоставить собственную синхронизацию.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.

Дополнительно