SoapHttpClientProtocol Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa klienta klasy, z którego pochodzą serwery proxy podczas korzystania z protokołu SOAP.
public ref class SoapHttpClientProtocol : System::Web::Services::Protocols::HttpWebClientProtocol
public class SoapHttpClientProtocol : System.Web.Services.Protocols.HttpWebClientProtocol
[System.Runtime.InteropServices.ComVisible(true)]
public class SoapHttpClientProtocol : System.Web.Services.Protocols.HttpWebClientProtocol
type SoapHttpClientProtocol = class
inherit HttpWebClientProtocol
[<System.Runtime.InteropServices.ComVisible(true)>]
type SoapHttpClientProtocol = class
inherit HttpWebClientProtocol
Public Class SoapHttpClientProtocol
Inherits HttpWebClientProtocol
- Dziedziczenie
- Atrybuty
Przykłady
Poniższy przykład kodu to klasa serwera proxy wygenerowana przez Wsdl.exe dla Math
usługi sieci Web XML. Klasa serwera proxy pochodzi z SoapHttpClientProtocolklasy , która pochodzi z klasy abstrakcyjnej WebClientProtocol .
#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;
namespace MyMath
{
[System::Web::Services::WebServiceBindingAttribute(Name="MyMathSoap",Namespace="http://www.contoso.com/")]
public ref class MyMath: public System::Web::Services::Protocols::SoapHttpClientProtocol
{
public:
[System::Diagnostics::DebuggerStepThroughAttribute]
MyMath()
{
this->Url = "http://www.contoso.com/math.asmx";
}
[System::Diagnostics::DebuggerStepThroughAttribute]
[System::Web::Services::Protocols::SoapDocumentMethodAttribute("http://www.contoso.com/Add",
RequestNamespace="http://www.contoso.com/",ResponseNamespace="http://www.contoso.com/",
Use=System::Web::Services::Description::SoapBindingUse::Literal,
ParameterStyle=System::Web::Services::Protocols::SoapParameterStyle::Wrapped)]
int Add( int num1, int num2 )
{
array<Object^>^temp0 = {num1,num2};
array<Object^>^results = this->Invoke( "Add", temp0 );
return *dynamic_cast<int^>(results[ 0 ]);
}
[System::Diagnostics::DebuggerStepThroughAttribute]
System::IAsyncResult^ BeginAdd( int num1, int num2, System::AsyncCallback^ callback, Object^ asyncState )
{
array<Object^>^temp1 = {num1,num2};
return this->BeginInvoke( "Add", temp1, callback, asyncState );
}
[System::Diagnostics::DebuggerStepThroughAttribute]
int EndAdd( System::IAsyncResult^ asyncResult )
{
array<Object^>^results = this->EndInvoke( asyncResult );
return *dynamic_cast<int^>(results[ 0 ]);
}
};
}
namespace MyMath {
using System.Diagnostics;
using System.Xml.Serialization;
using System;
using System.Web.Services.Protocols;
using System.Web.Services;
[System.Web.Services.WebServiceBindingAttribute(Name="MyMathSoap", Namespace="http://www.contoso.com/")]
public class MyMath : System.Web.Services.Protocols.SoapHttpClientProtocol {
[System.Diagnostics.DebuggerStepThroughAttribute()]
public MyMath() {
this.Url = "http://www.contoso.com/math.asmx";
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://www.contoso.com/Add", RequestNamespace="http://www.contoso.com/", ResponseNamespace="http://www.contoso.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
public int Add(int num1, int num2) {
object[] results = this.Invoke("Add", new object[] {num1,
num2});
return ((int)(results[0]));
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
public System.IAsyncResult BeginAdd(int num1, int num2, System.AsyncCallback callback, object asyncState) {
return this.BeginInvoke("Add", new object[] {num1,
num2}, callback, asyncState);
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
public int EndAdd(System.IAsyncResult asyncResult) {
object[] results = this.EndInvoke(asyncResult);
return ((int)(results[0]));
}
}
}
Option Strict On
Option Explicit On
Imports System.Diagnostics
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Xml.Serialization
Namespace MyMath
<System.Web.Services.WebServiceBindingAttribute(Name:="MyMathSoap", [Namespace]:="http://www.contoso.com/")> _
Public Class MyMath
Inherits System.Web.Services.Protocols.SoapHttpClientProtocol
<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.SoapDocumentMethodAttribute("http://www.contoso.com/Add", RequestNamespace:="http://www.contoso.com/", ResponseNamespace:="http://www.contoso.com/", Use:=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle:=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)> _
Public Function Add(ByVal num1 As Integer, ByVal num2 As Integer) As Integer
Dim results() As Object = Me.Invoke("Add", New Object() {num1, num2})
Return CType(results(0),Integer)
End Function
<System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Function BeginAdd(ByVal num1 As Integer, ByVal num2 As Integer, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
Return Me.BeginInvoke("Add", New Object() {num1, num2}, callback, asyncState)
End Function
<System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Function EndAdd(ByVal asyncResult As System.IAsyncResult) As Integer
Dim results() As Object = Me.EndInvoke(asyncResult)
Return CType(results(0),Integer)
End Function
End Class
End Namespace
Poniższy przykład kodu to Math
usługa sieci Web XML, z której została wygenerowana poprzednia klasa serwera proxy.
Ważne
Ten przykład zawiera pole tekstowe, które akceptuje dane wejściowe użytkownika, co jest potencjalnym zagrożeniem bezpieczeństwa. Domyślnie ASP.NET strony sieci Web sprawdzają, czy dane wejściowe użytkownika nie zawierają skryptów ani elementów HTML. Aby uzyskać więcej informacji, zobacz Script Exploits Overview (Omówienie luk w zabezpieczeniach skryptów).
<%@ WebService Language="C#" Class="MyMath"%>
using System.Web.Services;
using System;
[WebService(Namespace="http://www.contoso.com/")]
public class MyMath {
[ WebMethod ]
public int Add(int num1, int num2) {
return num1+num2;
}
}
<%@ WebService Language="VB" Class="MyMath"%>
Imports System.Web.Services
Imports System
<WebService(Namespace:="http://www.contoso.com/")> _
Public Class MyMath
<WebMethod()> _
Public Function Add(num1 As Integer, num2 As Integer) As Integer
Return num1 + num2
End Function 'Add
End Class 'Math
Uwagi
Jeśli tworzysz klienta usługi sieci Web XML, należy utworzyć klasę serwera proxy, która pochodzi pośrednio lub bezpośrednio z WebClientProtocol usługi sieci Web XML. Gdy klient usługi sieci Web XML wywołuje metodę przy użyciu protokołu SOAP, klasa serwera proxy musi pochodzić z SoapHttpClientProtocolklasy , która pochodzi z HttpWebClientProtocolklasy . HttpWebClientProtocol, z kolei pochodzi z klasy WebClientProtocol.
Aby komunikować się z usługą sieci Web XML, utwórz klasę serwera proxy, która pochodzi pośrednio lub bezpośrednio z WebClientProtocol usługi sieci Web XML, którą chcesz wywołać. Zamiast ręcznie tworzyć klasę serwera proxy, użyj narzędzia Web Services Description Language (Wsdl.exe), aby utworzyć klasę serwera proxy dla opisu usługi sieci Web XML. Gdy klasa serwera proxy jest generowana dla protokołu SOAP, synchroniczne wywołania metod usługi sieci Web XML są wykonywane za pośrednictwem Invoke metody , podczas gdy wywołania asynchroniczne są wykonywane przy użyciu BeginInvoke metody i EndInvoke metody .
Uwagi dotyczące dziedziczenia
Po zastąpieniu tej klasy można wprowadzić metody w klasie pochodnej, które są specyficzne dla określonego typu usługi sieci Web XML. Metody przechwytują parametry i wywołają klasę bazową, aby wykonać pracę komunikacji z usługą sieci Web XML. Jeśli wprowadzone metody są asynchroniczne, wywołaj metodę BeginInvoke(String, Object[], AsyncCallback, Object) i metodę EndInvoke(IAsyncResult) . Jeśli wprowadzone metody są synchroniczne, wywołaj metodę Invoke(String, Object[]) . Konstruktor zastępowany zazwyczaj ustawia Url właściwość na adres URL metody usługi sieci Web XML.
Konstruktory
SoapHttpClientProtocol() |
Inicjuje nowe wystąpienie klasy SoapHttpClientProtocol. |
Właściwości
AllowAutoRedirect |
Pobiera lub ustawia, czy klient automatycznie następuje przekierowania serwera. (Odziedziczone po HttpWebClientProtocol) |
CanRaiseEvents |
Pobiera wartość wskazującą, czy składnik może zgłosić zdarzenie. (Odziedziczone po Component) |
ClientCertificates |
Pobiera kolekcję certyfikatów klienta. (Odziedziczone po HttpWebClientProtocol) |
ConnectionGroupName |
Pobiera lub ustawia nazwę grupy połączeń dla żądania. (Odziedziczone po WebClientProtocol) |
Container |
Pobiera element IContainer zawierający element Component. (Odziedziczone po Component) |
CookieContainer |
Pobiera lub ustawia kolekcję plików cookie. (Odziedziczone po HttpWebClientProtocol) |
Credentials |
Pobiera lub ustawia poświadczenia zabezpieczeń dla uwierzytelniania klienta usługi sieci Web XML. (Odziedziczone po WebClientProtocol) |
DesignMode |
Pobiera wartość wskazującą, czy Component element jest obecnie w trybie projektowania. (Odziedziczone po Component) |
EnableDecompression |
Pobiera lub ustawia wartość wskazującą, czy dekompresja jest włączona dla tego HttpWebClientProtocolelementu . (Odziedziczone po HttpWebClientProtocol) |
Events |
Pobiera listę programów obsługi zdarzeń dołączonych do tego Componentelementu . (Odziedziczone po Component) |
PreAuthenticate |
Pobiera lub ustawia, czy jest włączone wstępne uwierzytelnianie. (Odziedziczone po WebClientProtocol) |
Proxy |
Pobiera lub ustawia informacje o serwerze proxy na potrzeby tworzenia żądania usługi sieci Web XML przez zaporę. (Odziedziczone po HttpWebClientProtocol) |
RequestEncoding |
Element Encoding używany do żądania klienta do usługi sieci Web XML. (Odziedziczone po WebClientProtocol) |
Site |
Pobiera lub ustawia wartość ISite .Component (Odziedziczone po Component) |
SoapVersion |
Pobiera lub ustawia wersję protokołu SOAP używanego do żądania PROTOKOŁU SOAP do usługi sieci Web XML. |
Timeout |
Wskazuje czas oczekiwania klienta usługi sieci Web XML na odebranie synchronicznego żądania usługi sieci Web XML (w milisekundach). (Odziedziczone po WebClientProtocol) |
UnsafeAuthenticatedConnectionSharing |
Pobiera lub ustawia wartość wskazującą, czy udostępnianie połączeń jest włączone, gdy klient korzysta z uwierzytelniania NTLM w celu nawiązania połączenia z serwerem sieci Web, który hostuje usługę sieci Web XML. (Odziedziczone po HttpWebClientProtocol) |
Url |
Pobiera lub ustawia podstawowy adres URL usługi sieci Web XML, o który żąda klient. (Odziedziczone po WebClientProtocol) |
UseDefaultCredentials |
Pobiera lub ustawia wartość wskazującą, czy właściwość ma być ustawiona Credentials na wartość DefaultCredentials właściwości. (Odziedziczone po WebClientProtocol) |
UserAgent |
Pobiera lub ustawia wartość nagłówka agenta użytkownika, który jest wysyłany z każdym żądaniem. (Odziedziczone po HttpWebClientProtocol) |
Metody
Abort() |
Anuluje żądanie do metody usługi sieci Web XML. (Odziedziczone po WebClientProtocol) |
BeginInvoke(String, Object[], AsyncCallback, Object) |
Uruchamia asynchroniczne wywołanie metody usługi sieci Web XML przy użyciu protokołu SOAP. |
CancelAsync(Object) |
Anuluje asynchroniczne wywołanie metody usługi sieci Web XML, chyba że wywołanie zostało już ukończone. (Odziedziczone po HttpWebClientProtocol) |
CreateObjRef(Type) |
Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym. (Odziedziczone po MarshalByRefObject) |
Discover() |
Dynamicznie wiąże się z usługą sieci Web XML opisaną w dokumencie odnajdywania pod adresem Url. |
Dispose() |
Zwalnia wszelkie zasoby używane przez element Component. (Odziedziczone po Component) |
Dispose(Boolean) |
Zwalnia zasoby niezarządzane używane przez element Component i opcjonalnie zwalnia zasoby zarządzane. (Odziedziczone po Component) |
EndInvoke(IAsyncResult) |
Kończy asynchroniczne wywołanie metody usługi sieci Web XML przy użyciu protokołu SOAP. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetLifetimeService() |
Przestarzałe.
Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia. (Odziedziczone po MarshalByRefObject) |
GetReaderForMessage(SoapClientMessage, Int32) |
Zwraca zainicjowany XmlReader element z Stream właściwością parametru SoapClientMessage . |
GetService(Type) |
Zwraca obiekt, który reprezentuje usługę dostarczaną przez Component obiekt lub przez element Container. (Odziedziczone po Component) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
GetWebRequest(Uri) |
Tworzy element WebRequest dla określonego |
GetWebResponse(WebRequest) |
Zwraca odpowiedź z synchronicznego żądania do metody usługi sieci Web XML. (Odziedziczone po HttpWebClientProtocol) |
GetWebResponse(WebRequest, IAsyncResult) |
Zwraca odpowiedź z asynchronicznego żądania do metody usługi sieci Web XML. (Odziedziczone po HttpWebClientProtocol) |
GetWriterForMessage(SoapClientMessage, Int32) |
Zwraca zainicjowany XmlWriter z właściwością Stream parametru SoapClientMessage . |
InitializeLifetimeService() |
Przestarzałe.
Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia. (Odziedziczone po MarshalByRefObject) |
Invoke(String, Object[]) |
Wywołuje metodę usługi sieci Web XML synchronicznie przy użyciu protokołu SOAP. |
InvokeAsync(String, Object[], SendOrPostCallback) |
Wywołuje określoną metodę asynchronicznie. |
InvokeAsync(String, Object[], SendOrPostCallback, Object) |
Wywołuje określoną metodę asynchronicznie. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
MemberwiseClone(Boolean) |
Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu. (Odziedziczone po MarshalByRefObject) |
ToString() |
Zwraca wartość String zawierającą nazwę Componentobiektu , jeśli istnieje. Ta metoda nie powinna być zastępowana. (Odziedziczone po Component) |
Zdarzenia
Disposed |
Występuje, gdy składnik jest usuwany przez wywołanie Dispose() metody . (Odziedziczone po Component) |
Dotyczy
Bezpieczeństwo wątkowe
Ten typ jest bezpieczny wątkowo.