Поделиться через


WebClientProtocol Класс

Определение

Задает базовый класс для всех прокси-классов клиентов веб-служб XML, созданных с помощью ASP.NET.

public ref class WebClientProtocol abstract : System::ComponentModel::Component
public abstract class WebClientProtocol : System.ComponentModel.Component
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class WebClientProtocol : System.ComponentModel.Component
type WebClientProtocol = class
    inherit Component
[<System.Runtime.InteropServices.ComVisible(true)>]
type WebClientProtocol = class
    inherit Component
Public MustInherit Class WebClientProtocol
Inherits Component
Наследование
WebClientProtocol
Производный
Атрибуты

Примеры

В следующем примере показана веб-форма ASP.NET, которая вызывает веб-службу XML с именем Math. EnterBtn_Click В функции веб-форма задает сведения о прокси-сервере и учетные данные клиента в прокси-классе перед вызовом удаленного метода веб-службы XML.

Важно!

В этом примере имеется текстовое поле, принимающее вводимые пользователем данные, что является потенциальной угрозой безопасности. По умолчанию данные, вводимые пользователем на веб-страницах ASP.NET, проверяются на наличие скриптов и HTML-элементов. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.

<%@ 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. Свойства этого класса сопоставляют со свойствами, найденными в WebRequest. Экземпляры классов, производных от WebRequest, например HttpWebRequest, используются в качестве транспортного механизма для веб-служб XML, созданных с помощью ASP.NET.

Для взаимодействия с веб-службой XML необходимо создать прокси-класс, производный косвенно или непосредственно от WebClientProtocol для веб-службы XML, которую требуется вызвать. Вместо создания прокси-класса вручную можно использовать средство Wsdl.exe для создания прокси-класса для описания службы данной веб-службы XML. Так как WebClientProtocol является базовым классом для прокси-сервера клиента, его свойства будут находиться в классах прокси-серверов. Эти свойства полезны для управления поведением запросов базового транспорта. Например, используйте Credentials свойство для вызова веб-служб XML, прошедших проверку подлинности. Многие свойства WebClientProtocol используются для инициализации WebRequest объекта , который используется для выполнения веб-запроса.

Конструкторы

WebClientProtocol()

Инициализирует новый экземпляр класса WebClientProtocol.

Свойства

CanRaiseEvents

Возвращает значение, показывающее, может ли компонент вызывать событие.

(Унаследовано от Component)
ConnectionGroupName

Возвращает или задает имя группы подключения для запроса.

Container

Возвращает объект IContainer, который содержит коллекцию Component.

(Унаследовано от Component)
Credentials

Получает или задает учетные данные безопасности для проверки подлинности клиента веб-службы XML.

DesignMode

Возвращает значение, указывающее, находится ли данный компонент Component в режиме конструктора в настоящее время.

(Унаследовано от Component)
Events

Возвращает список обработчиков событий, которые прикреплены к этому объекту Component.

(Унаследовано от Component)
PreAuthenticate

Получает или задает признак включения предварительной проверки подлинности.

RequestEncoding

Класс Encoding используется для выполнения клиентского запроса к веб-службе XML.

Site

Получает или задает ISite объекта Component.

(Унаследовано от Component)
Timeout

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

Url

Получает или задает URL-адрес веб-службы XML, запрашиваемой клиентом.

UseDefaultCredentials

Получает или задает значение, указывающее, должно ли для свойства Credentials устанавливаться значение свойства DefaultCredentials.

Методы

Abort()

Отменяет запрос к методу веб-службы XML.

AddToCache(Type, Object)

Добавьте в кэш экземпляр обработчика протокола клиента.

CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.

(Унаследовано от MarshalByRefObject)
Dispose()

Освобождает все ресурсы, занятые модулем Component.

(Унаследовано от Component)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом Component, а при необходимости освобождает также управляемые ресурсы.

(Унаследовано от Component)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetFromCache(Type)

Получает из кэша экземпляр обработчика протокола клиента.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetLifetimeService()
Устаревшие..

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.

(Унаследовано от MarshalByRefObject)
GetService(Type)

Возвращает объект, представляющий службу, предоставляемую классом Component или классом Container.

(Унаследовано от Component)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
GetWebRequest(Uri)

Создает экземпляр класса WebRequest для указанного идентификатора uri. Этот защищенный метод вызывается инфраструктурой клиента веб-службы XML для получения нового объекта транспорта WebRequest для передачи запроса веб-службы XML.

GetWebResponse(WebRequest)

Возвращает ответ на синхронный запрос к методу веб-службы XML.

GetWebResponse(WebRequest, IAsyncResult)

Возвращает ответ на асинхронный запрос метода веб-службы XML. Данный защищенный метод вызывается клиентской инфраструктурой веб-службы XML для получения ответа из асинхронного запроса веб-службы XML.

InitializeLifetimeService()
Устаревшие..

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неполную копию текущего объекта MarshalByRefObject.

(Унаследовано от MarshalByRefObject)
ToString()

Возвращает объект String, содержащий имя Component, если оно есть. Этот метод не следует переопределять.

(Унаследовано от Component)

События

Disposed

Возникает при удалении компонента путем вызова метода Dispose().

(Унаследовано от Component)

Применяется к

Потокобезопасность

Свойства этого класса копируются в новый экземпляр WebRequest объекта для каждого вызова метода веб-службы XML. Хотя методы веб-службы XML можно вызывать в одном WebClientProtocol экземпляре из разных потоков одновременно, синхронизация не выполняется, чтобы обеспечить передачу WebRequest в объект согласованного моментального снимка свойств. Поэтому, если необходимо изменить свойства и выполнять параллельные вызовы методов из разных потоков, следует использовать другой экземпляр прокси-сервера веб-службы XML или обеспечить собственную синхронизацию.

См. также раздел