SoapHttpClientProtocol Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan klien kelas yang berasal dari proksi saat menggunakan 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
- Warisan
- Atribut
Contoh
Contoh kode berikut adalah kelas proksi yang dihasilkan oleh Wsdl.exe untuk Math
layanan Web XML. Kelas proksi berasal dari SoapHttpClientProtocol, yang berasal dari kelas abstrak 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
Contoh kode berikut adalah Math
layanan Web XML, dari mana kelas proksi sebelumnya dihasilkan.
Penting
Contoh ini memiliki kotak teks yang menerima input pengguna, yang merupakan potensi ancaman keamanan. Secara default, ASP.NET halaman Web memvalidasi bahwa input pengguna tidak menyertakan elemen skrip atau HTML. Untuk informasi selengkapnya, lihat Gambaran Umum Eksploitasi Skrip.
<%@ 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
Keterangan
Jika Anda membangun klien layanan Web XML, maka kelas proksi yang berasal secara tidak langsung atau langsung dari WebClientProtocol harus dibuat untuk layanan Web XML. Ketika klien layanan Web XML memanggil menggunakan SOAP, kelas proksi harus berasal dari SoapHttpClientProtocol, yang berasal dari HttpWebClientProtocol. HttpWebClientProtocol, pada gilirannya, berasal dari WebClientProtocol.
Untuk berkomunikasi dengan layanan Web XML, buat kelas proksi yang berasal secara tidak langsung atau langsung dari WebClientProtocol untuk layanan Web XML yang ingin Anda panggil. Alih-alih membuat kelas proksi secara manual, gunakan alat Web Services Description Language (Wsdl.exe) untuk membuat kelas proksi untuk deskripsi layanan web XML tertentu. Ketika kelas proksi dihasilkan untuk protokol SOAP, panggilan sinkron ke metode layanan Web XML dilakukan melalui Invoke metode , sedangkan panggilan asinkron dilakukan menggunakan BeginInvoke metode dan EndInvoke metode .
Catatan Bagi Inheritor
Ketika Anda mengambil alih kelas ini, Anda dapat memperkenalkan metode di kelas turunan yang khusus untuk jenis layanan Web XML tertentu. Metode menangkap parameter dan memanggil kelas dasar untuk melakukan pekerjaan berkomunikasi dengan layanan Web XML. Jika metode yang diperkenalkan asinkron, panggil BeginInvoke(String, Object[], AsyncCallback, Object) metode dan EndInvoke(IAsyncResult) metode . Jika metode yang diperkenalkan sinkron, panggil Invoke(String, Object[]) metode . Konstruktor yang ditimpa Url biasanya mengatur properti ke URL metode layanan Web XML.
Konstruktor
SoapHttpClientProtocol() |
Menginisialisasi instans baru kelas SoapHttpClientProtocol. |
Properti
AllowAutoRedirect |
Mendapatkan atau mengatur apakah klien secara otomatis mengikuti pengalihan server. (Diperoleh dari HttpWebClientProtocol) |
CanRaiseEvents |
Mendapatkan nilai yang menunjukkan apakah komponen dapat menaikkan peristiwa. (Diperoleh dari Component) |
ClientCertificates |
Mendapatkan koleksi sertifikat klien. (Diperoleh dari HttpWebClientProtocol) |
ConnectionGroupName |
Mendapatkan atau mengatur nama grup koneksi untuk permintaan tersebut. (Diperoleh dari WebClientProtocol) |
Container |
IContainer Mendapatkan yang berisi Component. (Diperoleh dari Component) |
CookieContainer |
Mendapatkan atau mengatur koleksi cookie. (Diperoleh dari HttpWebClientProtocol) |
Credentials |
Mendapatkan atau mengatur kredensial keamanan untuk autentikasi klien layanan Web XML. (Diperoleh dari WebClientProtocol) |
DesignMode |
Mendapatkan nilai yang menunjukkan apakah Component saat ini dalam mode desain. (Diperoleh dari Component) |
EnableDecompression |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah dekompresi diaktifkan untuk ini HttpWebClientProtocol. (Diperoleh dari HttpWebClientProtocol) |
Events |
Mendapatkan daftar penanganan aktivitas yang dilampirkan ke ini Component. (Diperoleh dari Component) |
PreAuthenticate |
Mendapatkan atau mengatur apakah pra-autentikasi diaktifkan. (Diperoleh dari WebClientProtocol) |
Proxy |
Mendapatkan atau mengatur informasi proksi untuk membuat permintaan layanan Web XML melalui firewall. (Diperoleh dari HttpWebClientProtocol) |
RequestEncoding |
yang Encoding digunakan untuk membuat permintaan klien ke layanan Web XML. (Diperoleh dari WebClientProtocol) |
Site |
Mendapatkan atau mengatur ISite dari Component. (Diperoleh dari Component) |
SoapVersion |
Mendapatkan atau mengatur versi protokol SOAP yang digunakan untuk membuat permintaan SOAP ke layanan Web XML. |
Timeout |
Menunjukkan waktu klien layanan Web XML menunggu balasan permintaan layanan Web XML sinkron tiba (dalam milidetik). (Diperoleh dari WebClientProtocol) |
UnsafeAuthenticatedConnectionSharing |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah berbagi koneksi diaktifkan saat klien menggunakan autentikasi NTLM untuk menyambungkan ke server Web yang menghosting layanan Web XML. (Diperoleh dari HttpWebClientProtocol) |
Url |
Mendapatkan atau mengatur URL dasar layanan Web XML yang diminta klien. (Diperoleh dari WebClientProtocol) |
UseDefaultCredentials |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan mengatur Credentials properti ke nilai DefaultCredentials properti. (Diperoleh dari WebClientProtocol) |
UserAgent |
Mendapatkan atau menetapkan nilai untuk header agen pengguna yang dikirim dengan setiap permintaan. (Diperoleh dari HttpWebClientProtocol) |
Metode
Abort() |
Membatalkan permintaan ke metode layanan Web XML. (Diperoleh dari WebClientProtocol) |
BeginInvoke(String, Object[], AsyncCallback, Object) |
Memulai pemanggilan asinkron metode layanan Web XML menggunakan SOAP. |
CancelAsync(Object) |
Membatalkan panggilan asinkron ke metode layanan Web XML, kecuali panggilan telah selesai. (Diperoleh dari HttpWebClientProtocol) |
CreateObjRef(Type) |
Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh. (Diperoleh dari MarshalByRefObject) |
Discover() |
Secara dinamis mengikat ke layanan Web XML yang dijelaskan dalam dokumen penemuan di Url. |
Dispose() |
Merilis semua sumber daya yang Componentdigunakan oleh . (Diperoleh dari Component) |
Dispose(Boolean) |
Merilis sumber daya tidak terkelola yang digunakan oleh Component dan secara opsional merilis sumber daya terkelola. (Diperoleh dari Component) |
EndInvoke(IAsyncResult) |
Mengakhiri pemanggilan asinkron metode layanan Web XML menggunakan SOAP. |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetLifetimeService() |
Kedaluwarsa.
Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini. (Diperoleh dari MarshalByRefObject) |
GetReaderForMessage(SoapClientMessage, Int32) |
Mengembalikan yang XmlReader diinisialisasi Stream dengan properti SoapClientMessage parameter . |
GetService(Type) |
Mengembalikan objek yang mewakili layanan yang disediakan oleh Component atau oleh Container. (Diperoleh dari Component) |
GetType() |
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
GetWebRequest(Uri) |
WebRequest Membuat untuk yang ditentukan |
GetWebResponse(WebRequest) |
Mengembalikan respons dari permintaan sinkron ke metode layanan Web XML. (Diperoleh dari HttpWebClientProtocol) |
GetWebResponse(WebRequest, IAsyncResult) |
Mengembalikan respons dari permintaan asinkron ke metode layanan Web XML. (Diperoleh dari HttpWebClientProtocol) |
GetWriterForMessage(SoapClientMessage, Int32) |
Mengembalikan yang XmlWriter diinisialisasi Stream dengan properti SoapClientMessage parameter . |
InitializeLifetimeService() |
Kedaluwarsa.
Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini. (Diperoleh dari MarshalByRefObject) |
Invoke(String, Object[]) |
Memanggil metode layanan Web XML secara sinkron menggunakan SOAP. |
InvokeAsync(String, Object[], SendOrPostCallback) |
Memanggil metode yang ditentukan secara asinkron. |
InvokeAsync(String, Object[], SendOrPostCallback, Object) |
Memanggil metode yang ditentukan secara asinkron. |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
MemberwiseClone(Boolean) |
Membuat salinan dangkal objek saat ini MarshalByRefObject . (Diperoleh dari MarshalByRefObject) |
ToString() |
Mengembalikan yang String berisi nama Component, jika ada. Metode ini tidak boleh ditimpa. (Diperoleh dari Component) |
Acara
Disposed |
Terjadi ketika komponen dibuang oleh panggilan ke Dispose() metode . (Diperoleh dari Component) |
Berlaku untuk
Keamanan Thread
Jenis ini aman untuk utas.