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
- Наследование
- Производный
- Атрибуты
Примеры
В следующем примере показана веб-форма 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 для указанного идентификатора |
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 или обеспечить собственную синхронизацию.