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


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 веб-форма, которая вызывает веб-службу MathXML. 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, IAsyncResult)

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

GetWebResponse(WebRequest)

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

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

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

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

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

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

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

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

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

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

События

Имя Описание
Disposed

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

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

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

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

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

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