SoapHttpClientProtocol Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica il client di classe da cui derivano i proxy quando si usa 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
- Ereditarietà
- Attributi
Esempio
L'esempio di codice seguente è una classe proxy generata da Wsdl.exe per il Math servizio Web XML. La classe proxy deriva da SoapHttpClientProtocol, che deriva dalla classe astratta 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
L'esempio di codice seguente è il Math servizio Web XML da cui è stata generata la classe proxy precedente.
Importante
In questo esempio è presente una casella di testo che accetta l'input dell'utente, che rappresenta una potenziale minaccia per la sicurezza. Per impostazione predefinita, ASP.NET pagine Web verificare che l'input dell'utente non includa elementi SCRIPT o HTML. Per altre informazioni, vedere Cenni preliminari sugli exploit di script.
<%@ 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
Commenti
Se si compila un client del servizio Web XML, è necessario creare una classe proxy che deriva indirettamente o direttamente da WebClientProtocol per il servizio Web XML. Quando il client del servizio Web XML chiama tramite SOAP, la classe proxy deve derivare da SoapHttpClientProtocol, che deriva da HttpWebClientProtocol. HttpWebClientProtocol, a sua volta, deriva da WebClientProtocol.
Per comunicare con un servizio Web XML, creare una classe proxy che deriva indirettamente o direttamente da WebClientProtocol per il servizio Web XML che si desidera chiamare. Anziché creare manualmente la classe proxy, usare lo strumento Web Services Description Language (Wsdl.exe) per creare una classe proxy per una descrizione del servizio Web XML specificata. Quando viene generata una classe proxy per il protocollo SOAP, le chiamate sincrone ai metodi del servizio Web XML vengono effettuate tramite il Invoke metodo , mentre le chiamate asincrone vengono effettuate utilizzando il BeginInvoke metodo e il EndInvoke metodo .
Note per gli eredi
Quando si esegue l'override di questa classe, è possibile introdurre metodi nella classe derivata specifica di un particolare tipo di servizio Web XML. I metodi acquisiscono i parametri e chiamano la classe base per eseguire il lavoro di comunicazione con il servizio Web XML. Se i metodi introdotti sono asincroni, chiamare il BeginInvoke(String, Object[], AsyncCallback, Object) metodo e il EndInvoke(IAsyncResult) metodo . Se i metodi introdotti sono sincroni, chiamare il Invoke(String, Object[]) metodo . Il costruttore sottoposto a override imposta in genere la Url proprietà sull'URL del metodo del servizio Web XML.
Costruttori
| Nome | Descrizione |
|---|---|
| SoapHttpClientProtocol() |
Inizializza una nuova istanza della classe SoapHttpClientProtocol. |
Proprietà
| Nome | Descrizione |
|---|---|
| AllowAutoRedirect |
Ottiene o imposta un valore che indica se il client segue automaticamente i reindirizzamenti del server. (Ereditato da HttpWebClientProtocol) |
| CanRaiseEvents |
Ottiene un valore che indica se il componente può generare un evento. (Ereditato da Component) |
| ClientCertificates |
Ottiene la raccolta di certificati client. (Ereditato da HttpWebClientProtocol) |
| ConnectionGroupName |
Ottiene o imposta il nome del gruppo di connessione per la richiesta. (Ereditato da WebClientProtocol) |
| Container |
Ottiene l'oggetto IContainer contenente l'oggetto Component. (Ereditato da Component) |
| CookieContainer |
Ottiene o imposta la raccolta di cookie. (Ereditato da HttpWebClientProtocol) |
| Credentials |
Ottiene o imposta le credenziali di sicurezza per l'autenticazione client del servizio Web XML. (Ereditato da WebClientProtocol) |
| DesignMode |
Ottiene un valore che indica se è Component attualmente in modalità progettazione. (Ereditato da Component) |
| EnableDecompression |
Ottiene o imposta un valore che indica se la decompressione è abilitata per l'oggetto HttpWebClientProtocol. (Ereditato da HttpWebClientProtocol) |
| Events |
Ottiene l'elenco dei gestori eventi associati a questo Componentoggetto . (Ereditato da Component) |
| PreAuthenticate |
Ottiene o imposta un valore che indica se la preautenticazione è abilitata. (Ereditato da WebClientProtocol) |
| Proxy |
Ottiene o imposta informazioni proxy per l'esecuzione di una richiesta di servizio Web XML tramite un firewall. (Ereditato da HttpWebClientProtocol) |
| RequestEncoding |
Oggetto Encoding utilizzato per effettuare la richiesta client al servizio Web XML. (Ereditato da WebClientProtocol) |
| Site |
Ottiene o imposta il ISite del Component. (Ereditato da Component) |
| SoapVersion |
Ottiene o imposta la versione del protocollo SOAP utilizzata per effettuare la richiesta SOAP al servizio Web XML. |
| Timeout |
Indica l'ora in cui un client del servizio Web XML attende l'arrivo della risposta a una richiesta di servizio Web XML sincrono (in millisecondi). (Ereditato da WebClientProtocol) |
| UnsafeAuthenticatedConnectionSharing |
Ottiene o imposta un valore che indica se la condivisione della connessione è abilitata quando il client utilizza l'autenticazione NTLM per connettersi al server Web che ospita il servizio Web XML. (Ereditato da HttpWebClientProtocol) |
| Url |
Ottiene o imposta l'URL di base del servizio Web XML richiesto dal client. (Ereditato da WebClientProtocol) |
| UseDefaultCredentials |
Ottiene o imposta un valore che indica se impostare la Credentials proprietà sul valore della DefaultCredentials proprietà . (Ereditato da WebClientProtocol) |
| UserAgent |
Ottiene o imposta il valore per l'intestazione dell'agente utente inviata con ogni richiesta. (Ereditato da HttpWebClientProtocol) |
Metodi
| Nome | Descrizione |
|---|---|
| Abort() |
Annulla una richiesta a un metodo di servizio Web XML. (Ereditato da WebClientProtocol) |
| BeginInvoke(String, Object[], AsyncCallback, Object) |
Avvia una chiamata asincrona di un metodo di servizio Web XML tramite SOAP. |
| CancelAsync(Object) |
Annulla una chiamata asincrona a un metodo di servizio Web XML, a meno che la chiamata non sia già stata completata. (Ereditato da HttpWebClientProtocol) |
| CreateObjRef(Type) |
Crea un oggetto che contiene tutte le informazioni pertinenti necessarie per generare un proxy utilizzato per comunicare con un oggetto remoto. (Ereditato da MarshalByRefObject) |
| Discover() |
Associa dinamicamente a un servizio Web XML descritto nel documento di individuazione all'indirizzo Url. |
| Dispose() |
Rilascia tutte le risorse usate da Component. (Ereditato da Component) |
| Dispose(Boolean) |
Rilascia le risorse non gestite usate da Component e, facoltativamente, rilascia le risorse gestite. (Ereditato da Component) |
| EndInvoke(IAsyncResult) |
Termina una chiamata asincrona di un metodo di servizio Web XML tramite SOAP. |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetLifetimeService() |
Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
| GetReaderForMessage(SoapClientMessage, Int32) |
Restituisce un oggetto XmlReader inizializzato con la Stream proprietà del SoapClientMessage parametro . |
| GetService(Type) |
Restituisce un oggetto che rappresenta un servizio fornito da Component o da Container. (Ereditato da Component) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| GetWebRequest(Uri) |
Crea un WebRequest oggetto per l'oggetto specificato |
| GetWebResponse(WebRequest, IAsyncResult) |
Restituisce una risposta da una richiesta asincrona a un metodo di servizio Web XML. (Ereditato da HttpWebClientProtocol) |
| GetWebResponse(WebRequest) |
Restituisce una risposta da una richiesta sincrona a un metodo di servizio Web XML. (Ereditato da HttpWebClientProtocol) |
| GetWriterForMessage(SoapClientMessage, Int32) |
Restituisce un XmlWriter oggetto inizializzato con la Stream proprietà del SoapClientMessage parametro . |
| InitializeLifetimeService() |
Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
| Invoke(String, Object[]) |
Richiama in modo sincrono un metodo del servizio Web XML tramite SOAP. |
| InvokeAsync(String, Object[], SendOrPostCallback, Object) |
Richiama il metodo specificato in modo asincrono. |
| InvokeAsync(String, Object[], SendOrPostCallback) |
Richiama il metodo specificato in modo asincrono. |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| MemberwiseClone(Boolean) |
Crea una copia superficiale dell'oggetto corrente MarshalByRefObject . (Ereditato da MarshalByRefObject) |
| ToString() |
Restituisce un oggetto String contenente il nome dell'oggetto Component, se presente. Questo metodo non deve essere sottoposto a override. (Ereditato da Component) |
Eventi
| Nome | Descrizione |
|---|---|
| Disposed |
Si verifica quando il componente viene eliminato da una chiamata al Dispose() metodo . (Ereditato da Component) |
Si applica a
Thread safety
Questo tipo è thread-safe.