HttpSimpleClientProtocol Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет базовый класс для взаимодействия с веб-службой XML, используя простые привязки протоколов HTTP-GET и HTTP-POST.
public ref class HttpSimpleClientProtocol abstract : System::Web::Services::Protocols::HttpWebClientProtocol
public abstract class HttpSimpleClientProtocol : System.Web.Services.Protocols.HttpWebClientProtocol
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class HttpSimpleClientProtocol : System.Web.Services.Protocols.HttpWebClientProtocol
type HttpSimpleClientProtocol = class
inherit HttpWebClientProtocol
[<System.Runtime.InteropServices.ComVisible(true)>]
type HttpSimpleClientProtocol = class
inherit HttpWebClientProtocol
Public MustInherit Class HttpSimpleClientProtocol
Inherits HttpWebClientProtocol
- Наследование
-
HttpSimpleClientProtocol
- Производный
- Атрибуты
Примеры
Следующий пример кода представляет собой класс прокси, созданный Wsdl.exe для Math
веб-службы XML ниже. Прокси-класс является производным от HttpGetClientProtocolкласса , который является производным от абстрактного HttpSimpleClientProtocol класса.
#using <System.Web.Services.dll>
#using <System.Xml.dll>
#using <System.dll>
using namespace System::Diagnostics;
using namespace System::Xml::Serialization;
using namespace System;
using namespace System::Web::Services::Protocols;
using namespace System::Web::Services;
public ref class MyMath: public System::Web::Services::Protocols::HttpGetClientProtocol
{
public:
[System::Diagnostics::DebuggerStepThroughAttribute]
MyMath()
{
this->Url = "http://www.contoso.com/math.asmx";
}
[System::Diagnostics::DebuggerStepThroughAttribute]
[System::Web::Services::Protocols::HttpMethodAttribute(System::Web::Services::Protocols::XmlReturnReader::typeid,
System::Web::Services::Protocols::UrlParameterWriter::typeid)]
[returnvalue:System::Xml::Serialization::XmlRootAttribute("snippet1>",Namespace="http://www.contoso.com/",IsNullable=false)]
int Add( String^ num1, String^ num2 )
{
array<Object^>^temp0 = {num1,num2};
return *dynamic_cast<int^>(this->Invoke( "Add", (String::Concat( this->Url, "/Add" )), temp0 ));
}
[System::Diagnostics::DebuggerStepThroughAttribute]
System::IAsyncResult^ BeginAdd( String^ num1, String^ num2, System::AsyncCallback^ callback, Object^ asyncState )
{
array<Object^>^temp1 = {num1,num2};
return this->BeginInvoke( "Add", (String::Concat( this->Url, "/Add" )), temp1, callback, asyncState );
}
[System::Diagnostics::DebuggerStepThroughAttribute]
int EndAdd( System::IAsyncResult^ asyncResult )
{
return *dynamic_cast<int^>(this->EndInvoke( asyncResult ));
}
};
using System.Diagnostics;
using System.Xml.Serialization;
using System;
using System.Web.Services.Protocols;
using System.Web.Services;
public class MyMath : System.Web.Services.Protocols.HttpGetClientProtocol {
[System.Diagnostics.DebuggerStepThroughAttribute()]
public MyMath()
{
this.Url = "http://www.contoso.com/math.asmx";
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.Web.Services.Protocols.HttpMethodAttribute(typeof(System.Web.Services.Protocols.XmlReturnReader), typeof(System.Web.Services.Protocols.UrlParameterWriter))]
[return: System.Xml.Serialization.XmlRootAttribute("int", Namespace = "http://www.contoso.com/", IsNullable = false)]
public int Add(string num1, string num2)
{
return ((int)(this.Invoke("Add", (this.Url + "/Add"),
new object[] { num1, num2 })));
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
public System.IAsyncResult BeginAdd(string num1, string num2, System.AsyncCallback callback, object asyncState)
{
return this.BeginInvoke("Add", (this.Url + "/Add"),
new object[] { num1, num2 }, callback, asyncState);
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
public int EndAdd(System.IAsyncResult asyncResult)
{
return ((int)(this.EndInvoke(asyncResult)));
}
}
Option Strict On
Option Explicit On
Imports System.Diagnostics
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Xml.Serialization
Public Class MyMath
Inherits System.Web.Services.Protocols.HttpGetClientProtocol
<System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Sub New()
MyBase.New
Me.Url = "http://www.contoso.com/math.asmx"
End Sub
<System.Diagnostics.DebuggerStepThroughAttribute(), _
System.Web.Services.Protocols.HttpMethodAttribute(GetType(System.Web.Services.Protocols.XmlReturnReader), GetType(System.Web.Services.Protocols.UrlParameterWriter))> _
Public Function Add(ByVal num1 As String, ByVal num2 As String) As <System.Xml.Serialization.XmlRootAttribute("int", [Namespace]:="http://www.contoso.com/", IsNullable:=false)> Integer
Return CType(Me.Invoke("Add", (Me.Url + "/Add"), New Object() {num1, num2}),Integer)
End Function
<System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Function BeginAdd(ByVal num1 As String, ByVal num2 As String, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
Return Me.BeginInvoke("Add", (Me.Url + "/Add"), New Object() {num1, num2}, callback, asyncState)
End Function
<System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Function EndAdd(ByVal asyncResult As System.IAsyncResult) As Integer
Return CType(Me.EndInvoke(asyncResult),Integer)
End Function
End Class
В следующем примере кода показана Math
веб-служба XML, из которой был создан предыдущий прокси-класс.
#using <System.EnterpriseServices.dll>
#using <System.Web.Services.dll>
using namespace System::Web::Services;
using namespace System;
public ref class Math
{
public:
[WebMethod]
int Add( int num1, int num2 )
{
return num1 + num2;
}
};
using System.Web.Services;
using System;
public class Math
{
[WebMethod]
public int Add(int num1, int num2)
{
return num1 + num2;
}
}
Imports System.Web.Services
Public Class Math
<WebMethod()> _
Public Function Add(num1 As Integer, num2 As Integer)As Integer
Return num1 + num2
End Function
End Class
Комментарии
Этот класс определяет большую часть реализации для взаимодействия с веб-службой XML по протоколу HTTP с помощью кодировщиков для кодирования параметров и возвращаемых значений в общих форматах MIME. Эти кодировщики являются производными MimeFormatter от класса . По умолчанию прокси-класс, производный от HttpSimpleClientProtocol , кодирует параметры с помощью типа MIME application/x-www-form-urlencoded и ответа в формате обычного XML. Настраиваемые модули форматирования mime можно указать с помощью атрибута HttpMethodAttribute , однако интеграция этого элемента в описание службы и создание прокси-сервера не поддерживается.
Notes to Inheritors:
При переопределении этого класса в производном классе можно ввести методы, относящиеся к определенному типу веб-службы XML. Методы просто записывают параметры и вызывают базовый класс для взаимодействия с сайтом. Если введенные методы являются асинхронными, вызовите методы BeginInvoke и EndInvoke . Если введенные методы являются синхронными, вызовите Invoke метод . Переопределенный конструктор обычно задает свойству Url универсальный код ресурса (URI) метода веб-службы XML.
Средство языка описания веб-служб (Wsdl.exe) создает производные классы для заданного HttpSimpleClientProtocol описания службы.
Конструкторы
HttpSimpleClientProtocol() |
Инициализирует новый экземпляр класса HttpSimpleClientProtocol. |
Свойства
AllowAutoRedirect |
Получает или задает возможность клиента автоматически следовать перенаправлениям сервера. (Унаследовано от HttpWebClientProtocol) |
CanRaiseEvents |
Возвращает значение, показывающее, может ли компонент вызывать событие. (Унаследовано от Component) |
ClientCertificates |
Получает коллекцию сертификатов клиента. (Унаследовано от HttpWebClientProtocol) |
ConnectionGroupName |
Возвращает или задает имя группы подключения для запроса. (Унаследовано от WebClientProtocol) |
Container |
Возвращает объект IContainer, который содержит коллекцию Component. (Унаследовано от Component) |
CookieContainer |
Получает или задает коллекцию файлов Cookie. (Унаследовано от HttpWebClientProtocol) |
Credentials |
Получает или задает учетные данные безопасности для проверки подлинности клиента веб-службы XML. (Унаследовано от WebClientProtocol) |
DesignMode |
Возвращает значение, указывающее, находится ли данный компонент Component в режиме конструктора в настоящее время. (Унаследовано от Component) |
EnableDecompression |
Получает или задает значение, указывающее, включено ли сжатие для данного объекта HttpWebClientProtocol. (Унаследовано от HttpWebClientProtocol) |
Events |
Возвращает список обработчиков событий, которые прикреплены к этому объекту Component. (Унаследовано от Component) |
PreAuthenticate |
Получает или задает признак включения предварительной проверки подлинности. (Унаследовано от WebClientProtocol) |
Proxy |
Получает или задает информацию о прокси для выполнения запроса веб-службы XML через брандмауэр. (Унаследовано от HttpWebClientProtocol) |
RequestEncoding |
Класс Encoding используется для выполнения клиентского запроса к веб-службе XML. (Унаследовано от WebClientProtocol) |
Site |
Получает или задает ISite объекта Component. (Унаследовано от Component) |
Timeout |
Указывает время (в миллисекундах), в течение которого клиент XML-веб-службы ждет ответа на синхронный запрос XML-веб-службы. (Унаследовано от WebClientProtocol) |
UnsafeAuthenticatedConnectionSharing |
Получает или задает значение, указывающее, включено ли совместное использование подключения при работе клиента со средствами проверки подлинности NTLM для соединения с веб-сервером, на котором размещается веб-служба XML. (Унаследовано от HttpWebClientProtocol) |
Url |
Получает или задает URL-адрес веб-службы XML, запрашиваемой клиентом. (Унаследовано от WebClientProtocol) |
UseDefaultCredentials |
Получает или задает значение, указывающее, должно ли для свойства Credentials устанавливаться значение свойства DefaultCredentials. (Унаследовано от WebClientProtocol) |
UserAgent |
Получает или задает значение заголовка агента пользователя, посылаемого с каждым запросом. (Унаследовано от HttpWebClientProtocol) |
Методы
Abort() |
Отменяет запрос к методу веб-службы XML. (Унаследовано от WebClientProtocol) |
BeginInvoke(String, String, Object[], AsyncCallback, Object) |
Начинает асинхронный вызов метода веб-службы XML. |
CancelAsync(Object) |
Отменяет асинхронный вызов к методу веб-службы XML, если вызов еще не завершен. (Унаследовано от HttpWebClientProtocol) |
CreateObjRef(Type) |
Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject) |
Dispose() |
Освобождает все ресурсы, занятые модулем Component. (Унаследовано от Component) |
Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые объектом Component, а при необходимости освобождает также управляемые ресурсы. (Унаследовано от Component) |
EndInvoke(IAsyncResult) |
Завершает асинхронный вызов метода веб-службы XML с использованием HTTP. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetLifetimeService() |
Устаревшие..
Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра. (Унаследовано от MarshalByRefObject) |
GetService(Type) |
Возвращает объект, представляющий службу, предоставляемую классом Component или классом Container. (Унаследовано от Component) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
GetWebRequest(Uri) |
Создает объект WebRequest для указанного URI-кода. (Унаследовано от HttpWebClientProtocol) |
GetWebResponse(WebRequest) |
Возвращает ответ на синхронный запрос к методу веб-службы XML. (Унаследовано от HttpWebClientProtocol) |
GetWebResponse(WebRequest, IAsyncResult) |
Возвращает ответ на асинхронный запрос метода веб-службы XML. (Унаследовано от HttpWebClientProtocol) |
InitializeLifetimeService() |
Устаревшие..
Получает объект службы времени существования для управления политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
Invoke(String, String, Object[]) |
Вызывает метод веб-службы XML с использованием HTTP. |
InvokeAsync(String, String, Object[], SendOrPostCallback) |
Асинхронно вызывает указанный метод. |
InvokeAsync(String, String, Object[], SendOrPostCallback, Object) |
Асинхронно вызывает указанный метод, сохраняя сопоставленное состояние. |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
MemberwiseClone(Boolean) |
Создает неполную копию текущего объекта MarshalByRefObject. (Унаследовано от MarshalByRefObject) |
ToString() |
Возвращает объект String, содержащий имя Component, если оно есть. Этот метод не следует переопределять. (Унаследовано от Component) |
События
Disposed |
Возникает при удалении компонента путем вызова метода Dispose(). (Унаследовано от Component) |
Применяется к
Потокобезопасность
Данный тип потокобезопасен.