SoapHttpClientProtocol Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
SOAP kullanırken ara sunucuların türetilen sınıf istemcisini belirtir.
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
- Devralma
- Öznitelikler
Örnekler
Aşağıdaki kod örneği, XML Web hizmeti için Math
Wsdl.exe tarafından oluşturulan bir ara sunucu sınıfıdır. Proxy sınıfı soyut WebClientProtocol sınıfından SoapHttpClientProtocoltüretilen öğesinden türetilir.
#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
Aşağıdaki kod örneği Math
, önceki ara sunucu sınıfının oluşturulduğu XML Web hizmetidir.
Önemli
Bu örnekte, olası bir güvenlik tehdidi olan kullanıcı girişini kabul eden bir metin kutusu vardır. Varsayılan olarak, ASP.NET Web sayfaları kullanıcı girişinin betik veya HTML öğeleri içermediğini doğrular. Daha fazla bilgi için bkz . Betik Açıklarına Genel Bakış.
<%@ 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
Açıklamalar
XML Web hizmeti istemcisi oluşturuyorsanız, XML Web hizmeti için dolaylı veya doğrudan türetilen WebClientProtocol bir ara sunucu sınıfı oluşturulmalıdır. XML Web hizmeti istemcisi SOAP kullanarak çağırdığında, ara sunucu sınıfı öğesinden SoapHttpClientProtocoltüretilen öğesinden HttpWebClientProtocoltüretilmelidir. HttpWebClientProtocol,'den de türetilir WebClientProtocol.
XML Web hizmetiyle iletişim kurmak için, çağırmak istediğiniz XML Web hizmeti için dolaylı olarak veya doğrudan öğesinden WebClientProtocol türetilen bir ara sunucu sınıfı oluşturun. Proxy sınıfını el ile oluşturmak yerine Web Hizmetleri Açıklama Dili aracını (Wsdl.exe) kullanarak belirli bir XML Web hizmetinin hizmet açıklaması için ara sunucu sınıfı oluşturun. SOAP protokolü için bir ara sunucu sınıfı oluşturulduğunda, XML Web hizmeti yöntemlerine zaman uyumlu çağrılar yöntemi aracılığıyla Invoke yapılırken, zaman uyumsuz çağrılar yöntemi ve EndInvoke yöntemi kullanılarak BeginInvoke yapılır.
Devralanlara Notlar
Bu sınıfı geçersiz kıldığınızda, türetilmiş sınıfta belirli bir XML Web hizmeti türüne özgü yöntemler ekleyebilirsiniz. Yöntemler, XML Web hizmetiyle iletişim kurma işini yapmak için parametreleri yakalar ve temel sınıfı çağırır. Tanıtılan yöntemler zaman uyumsuzsa yöntemini ve yöntemini çağırın BeginInvoke(String, Object[], AsyncCallback, Object)EndInvoke(IAsyncResult) . Tanıtılan yöntemler zaman uyumluysa yöntemini çağırın Invoke(String, Object[]) . Geçersiz kılınan oluşturucu genellikle özelliğini XML Web hizmeti yönteminin URL'sine ayarlar Url .
Oluşturucular
SoapHttpClientProtocol() |
SoapHttpClientProtocol sınıfının yeni bir örneğini başlatır. |
Özellikler
AllowAutoRedirect |
İstemcinin sunucu yeniden yönlendirmelerini otomatik olarak takip edip etmediğini alır veya ayarlar. (Devralındığı yer: HttpWebClientProtocol) |
CanRaiseEvents |
Bileşenin bir olay oluşturup oluşturamayacağını belirten bir değer alır. (Devralındığı yer: Component) |
ClientCertificates |
İstemci sertifikaları koleksiyonunu alır. (Devralındığı yer: HttpWebClientProtocol) |
ConnectionGroupName |
İstek için bağlantı grubunun adını alır veya ayarlar. (Devralındığı yer: WebClientProtocol) |
Container |
öğesini IContainer içeren öğesini Componentalır. (Devralındığı yer: Component) |
CookieContainer |
Tanımlama bilgileri koleksiyonunu alır veya ayarlar. (Devralındığı yer: HttpWebClientProtocol) |
Credentials |
XML Web hizmeti istemci kimlik doğrulaması için güvenlik kimlik bilgilerini alır veya ayarlar. (Devralındığı yer: WebClientProtocol) |
DesignMode |
öğesinin şu anda tasarım modunda olup olmadığını Component gösteren bir değer alır. (Devralındığı yer: Component) |
EnableDecompression |
Bu HttpWebClientProtocoliçin açmanın etkinleştirilip etkinleştirilmediğini belirten bir değer alır veya ayarlar. (Devralındığı yer: HttpWebClientProtocol) |
Events |
Bu Componentöğesine eklenen olay işleyicilerinin listesini alır. (Devralındığı yer: Component) |
PreAuthenticate |
Ön kimlik doğrulamasının etkinleştirilip etkinleştirilmediğini alır veya ayarlar. (Devralındığı yer: WebClientProtocol) |
Proxy |
Güvenlik duvarı üzerinden XML Web hizmeti isteği yapmak için ara sunucu bilgilerini alır veya ayarlar. (Devralındığı yer: HttpWebClientProtocol) |
RequestEncoding |
Encoding XML Web hizmetine istemci isteğinde bulunmak için kullanılır. (Devralındığı yer: WebClientProtocol) |
Site |
öğesini alır veya ayarlar ISiteComponent. (Devralındığı yer: Component) |
SoapVersion |
XML Web hizmetine SOAP isteğinde bulunmak için kullanılan SOAP protokolünün sürümünü alır veya ayarlar. |
Timeout |
XML Web hizmeti istemcisinin zaman uyumlu XML Web hizmeti isteğinin yanıtlanmasını beklediği süreyi gösterir (milisaniye cinsinden). (Devralındığı yer: WebClientProtocol) |
UnsafeAuthenticatedConnectionSharing |
İstemci, XML Web hizmetini barındıran Web sunucusuna bağlanmak için NTLM kimlik doğrulamasını kullandığında bağlantı paylaşımının etkinleştirilip etkinleştirilmediğini belirten bir değer alır veya ayarlar. (Devralındığı yer: HttpWebClientProtocol) |
Url |
İstemcinin istediği XML Web hizmetinin temel URL'sini alır veya ayarlar. (Devralındığı yer: WebClientProtocol) |
UseDefaultCredentials |
Özelliğin özelliğinin değerine ayarlanıp ayarlanmayacağını Credentials belirten bir değer DefaultCredentials alır veya ayarlar. (Devralındığı yer: WebClientProtocol) |
UserAgent |
Her istekle birlikte gönderilen kullanıcı aracısı üst bilgisinin değerini alır veya ayarlar. (Devralındığı yer: HttpWebClientProtocol) |
Yöntemler
Abort() |
XML Web hizmeti yöntemine yönelik isteği iptal eder. (Devralındığı yer: WebClientProtocol) |
BeginInvoke(String, Object[], AsyncCallback, Object) |
SOAP kullanarak bir XML Web hizmeti yönteminin zaman uyumsuz çağrısını başlatır. |
CancelAsync(Object) |
Çağrı zaten tamamlanmadığı sürece XML Web hizmeti yöntemine yönelik zaman uyumsuz çağrıyı iptal eder. (Devralındığı yer: HttpWebClientProtocol) |
CreateObjRef(Type) |
Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur. (Devralındığı yer: MarshalByRefObject) |
Discover() |
konumundaki bulma belgesinde Urlaçıklanan bir XML Web hizmetine dinamik olarak bağlanır. |
Dispose() |
Component tarafından kullanılan tüm kaynakları serbest bırakır. (Devralındığı yer: Component) |
Dispose(Boolean) |
Component tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır. (Devralındığı yer: Component) |
EndInvoke(IAsyncResult) |
SOAP kullanarak XML Web hizmeti yönteminin zaman uyumsuz çağrısını sonlandırır. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetLifetimeService() |
Geçersiz.
Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır. (Devralındığı yer: MarshalByRefObject) |
GetReaderForMessage(SoapClientMessage, Int32) |
parametresinin StreamSoapClientMessage özelliğiyle başlatılan bir XmlReader döndürür. |
GetService(Type) |
veya tarafından ComponentContainersağlanan bir hizmeti temsil eden bir nesnesi döndürür. (Devralındığı yer: Component) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
GetWebRequest(Uri) |
Belirtilen |
GetWebResponse(WebRequest) |
Xml Web hizmeti yöntemine zaman uyumlu istekten bir yanıt döndürür. (Devralındığı yer: HttpWebClientProtocol) |
GetWebResponse(WebRequest, IAsyncResult) |
Xml Web hizmeti yöntemine zaman uyumsuz istekten bir yanıt döndürür. (Devralındığı yer: HttpWebClientProtocol) |
GetWriterForMessage(SoapClientMessage, Int32) |
parametresinin StreamSoapClientMessage özelliğiyle başlatılan bir XmlWriter döndürür. |
InitializeLifetimeService() |
Geçersiz.
Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır. (Devralındığı yer: MarshalByRefObject) |
Invoke(String, Object[]) |
SOAP kullanarak bir XML Web hizmeti yöntemini zaman uyumlu olarak çağırır. |
InvokeAsync(String, Object[], SendOrPostCallback) |
Belirtilen yöntemi zaman uyumsuz olarak çağırır. |
InvokeAsync(String, Object[], SendOrPostCallback, Object) |
Belirtilen yöntemi zaman uyumsuz olarak çağırır. |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
MemberwiseClone(Boolean) |
Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur. (Devralındığı yer: MarshalByRefObject) |
ToString() |
Varsa, adını Componentiçeren bir String döndürür. Bu yöntem geçersiz kılınmamalıdır. (Devralındığı yer: Component) |
Ekinlikler
Disposed |
Bileşen yöntemine Dispose() yapılan bir çağrı tarafından atıldığında gerçekleşir. (Devralındığı yer: Component) |
Şunlara uygulanır
İş Parçacığı Güvenliği
Bu güvenli iş parçacığı türüdür.