HttpWebClientProtocol 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.
HTTP aktarım protokolünü kullanan tüm XML Web hizmeti istemci proxy'leri için temel sınıfı temsil eder.
public ref class HttpWebClientProtocol abstract : System::Web::Services::Protocols::WebClientProtocol
public abstract class HttpWebClientProtocol : System.Web.Services.Protocols.WebClientProtocol
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class HttpWebClientProtocol : System.Web.Services.Protocols.WebClientProtocol
type HttpWebClientProtocol = class
inherit WebClientProtocol
[<System.Runtime.InteropServices.ComVisible(true)>]
type HttpWebClientProtocol = class
inherit WebClientProtocol
Public MustInherit Class HttpWebClientProtocol
Inherits WebClientProtocol
- Devralma
- Türetilmiş
- Öznitelikler
Örnekler
Aşağıdaki örnek, adlı Mathbir XML Web hizmetini çağıran bir ASP.NET Web Formudur. İşlevin EnterBtn_Click içinde, Web Formu sunucunun istemciyi otomatik olarak diğer sitelere yönlendirmesine izin verir. Ayrıca, XML Web hizmeti yöntemini çağırmadan önce istemci kimlik doğrulaması kimlik bilgilerini, proxy ayarlarını, istek kodlamasını ve istek için zaman aşımını ayarlar.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Net" %>
<html>
<script language="C#" runat="server">
void EnterBtn_Click(Object Src, EventArgs E)
{
MyMath.Math math = new MyMath.Math();
// Allow the server to redirect the request.
math.AllowAutoRedirect = true;
// Set the client-side credentials using the Credentials property.
ICredentials credentials =
new NetworkCredential("Joe","password","mydomain");
math.Credentials = credentials;
// Set the proxy server to proxyserver, set the port to 80, and specify to bypass
// the proxy server for local addresses.
IWebProxy proxyObject = new WebProxy("http://proxyserver:80",true);
math.Proxy = proxyObject;
// Set the encoding to utf-8.
math.RequestEncoding = System.Text.Encoding.UTF8;
// Set the time out to 15 seconds
math.Timeout = 15000;
int total = math.Add(Convert.ToInt32(Num1.Text),
Convert.ToInt32(Num2.Text));
Total.Text = "Total: " + total.ToString();
}
</script>
<body>
<form action="MathClient.aspx" runat=server>
Enter the two numbers you want to add and then press the Total button.
<p>
Number 1: <asp:textbox id="Num1" runat=server/> +
Number 2: <asp:textbox id="Num2" runat=server/> =
<asp:button text="Total" Onclick="EnterBtn_Click" runat=server/>
<p>
<asp:label id="Total" runat=server/>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Net" %>
<html>
<script language="VB" runat="server">
Sub EnterBtn_Click(Src As Object, E As EventArgs)
Dim math As New MyMath.Math()
' Allow the server to redirect the request.
math.AllowAutoRedirect = True
' Set the client-side credentials using the Credentials property.
Dim credentials = New NetworkCredential("Joe", "password", "mydomain")
math.Credentials = credentials
' Set the proxy server to proxyserver, set the port to 80 and specify to bypass
' the proxy server for local addresses.
Dim proxyObject = New WebProxy("http://proxyserver:80", True)
math.Proxy = proxyObject
' Set the encoding to utf-8.
math.RequestEncoding = System.Text.Encoding.UTF8
' Set the time out to 15 seconds.
math.Timeout = 15000
Dim iTotal As Integer = math.Add(Convert.ToInt32(Num1.Text), _
Convert.ToInt32(Num2.Text))
Total.Text = "Total: " & iTotal.ToString()
End Sub
</script>
<body>
<form action="MathClient.aspx" runat=server>
Enter the two numbers you want to add and then press the Total button.
<p>
Number 1: <asp:textbox id="Num1" runat=server/> +
Number 2: <asp:textbox id="Num2" runat=server/> =
<asp:button text="Total" Onclick="EnterBtn_Click" runat=server/>
<p>
<asp:label id="Total" runat=server/>
</form>
</body>
</html>
Açıklamalar
Bu sınıftaki özellikler, XML Web hizmeti isteğini ve yanıtını iletmek için kullanılan HTTP istek nesnesinin davranışını denetlemek için kullanılır. Özellikler, üzerinde bulunan özelliklerle eşler HttpWebRequest.
HTTP kullanarak bir XML Web hizmetiyle iletişim kurmak için, XML Web hizmeti için dolaylı olarak veya doğrudan öğesinden HttpWebClientProtocol türetilen bir ara sunucu sınıfı oluşturmanız gerekir. Ara sunucu sınıfını el ile oluşturmak yerine, Wsdl.exe aracını kullanarak belirli bir XML Web hizmetinin hizmet açıklaması için ara sunucu sınıfı oluşturabilirsiniz.
HttpWebClientProtocol tüm ara sunucu sınıfları için temel sınıf olduğundan, özellikleri proxy sınıflarınızdadır. Bu özellikler, temel alınan aktarımın istek davranışını denetlemek için kullanışlıdır. Örneğin, xml web hizmetlerini bir güvenlik duvarı üzerinden çağırmak için özelliğini kullanın Proxy . Bu özelliklerin çoğu, Web isteğinde bulunan öğesini HttpWebRequest başlatmak için kullanılır.
SoapHttpClientProtocol, HttpGetClientProtocolve soap, HTTP-GET ve HttpPostClientProtocol HTTP-POST için sırasıyla destek sağlamak için doğrudan veya dolaylı olarak öğesinden HttpWebClientProtocol türetilir.
Oluşturucular
| Name | Description |
|---|---|
| HttpWebClientProtocol() |
HttpWebClientProtocol sınıfının yeni bir örneğini başlatır. |
Özellikler
| Name | Description |
|---|---|
| AllowAutoRedirect |
İstemcinin sunucu yeniden yönlendirmelerini otomatik olarak takip edip etmediğini alır veya ayarlar. |
| CanRaiseEvents |
Bileşenin olay oluşturup oluşturamayacağını belirten bir değer alır. (Devralındığı yer: Component) |
| ClientCertificates |
İstemci sertifikaları koleksiyonunu alır. |
| 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. |
| 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 sıkıştırmanın etkinleştirilip etkinleştirilmediğini gösteren bir değer alır veya ayarlar. |
| 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 |
Bir güvenlik duvarı üzerinden XML Web hizmeti isteğinde bulunmak için ara sunucu bilgilerini alır veya ayarlar. |
| 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) |
| Timeout |
XML Web hizmeti istemcisinin zaman uyumlu XML Web hizmeti isteğinin yanıtlanmasını beklediği zamanı 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 gösteren bir değer alır veya ayarlar. |
| 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. |
Yöntemler
| Name | Description |
|---|---|
| Abort() |
XML Web hizmeti yöntemine yönelik isteği iptal eder. (Devralındığı yer: WebClientProtocol) |
| CancelAsync(Object) |
Çağrı zaten tamamlanmadığı sürece, XML Web hizmeti yöntemine yönelik zaman uyumsuz çağrıyı iptal eder. |
| 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) |
| Dispose() |
tarafından Componentkullanılan tüm kaynakları serbest bırakır. (Devralındığı yer: Component) |
| Dispose(Boolean) |
tarafından Component kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır. (Devralındığı yer: Component) |
| Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
| GenerateXmlMappings(Type, ArrayList) |
XmlMembersMapping Belirtilen tür tarafından kullanıma sunulan her XML Web hizmeti yönteminin öğesini alır ve eşlemeleri belirtilen ArrayListiçinde depolar. |
| GenerateXmlMappings(Type[], ArrayList) |
XmlMembersMapping Belirtilen türler tarafından kullanıma sunulan her XML Web hizmeti yönteminin öğesini alır ve eşlemeleri belirtilen ArrayListiçinde ve bu yöntemin döndürdüğü bir Hashtable içinde depolar. |
| 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) |
| GetService(Type) |
veya Componenttarafından Container sağlanan bir hizmeti temsil eden bir nesnesi döndürür. (Devralındığı yer: Component) |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| GetWebRequest(Uri) |
Belirtilen URI için bir WebRequest oluşturur. |
| GetWebResponse(WebRequest, IAsyncResult) |
Xml Web hizmeti yöntemine zaman uyumsuz istekten bir yanıt döndürür. |
| GetWebResponse(WebRequest) |
Xml Web hizmeti yöntemine zaman uyumlu istekten bir yanıt 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) |
| MemberwiseClone() |
Geçerli Objectbasit 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ı Stringiçeren bir Component döndürür. Bu yöntem geçersiz kılınmamalıdır. (Devralındığı yer: Component) |
Ekinlikler
| Name | Description |
|---|---|
| Disposed |
Bileşen yöntemine Dispose() yapılan bir çağrıyla atıldığında gerçekleşir. (Devralındığı yer: Component) |
Şunlara uygulanır
İş Parçacığı Güvenliği
Bu sınıftaki özellikler, her XML Web hizmeti yöntemi çağrısı için nesnenin yeni bir WebRequest örneğine kopyalanır. Aynı örnekteki XML Web hizmeti yöntemlerini aynı WebClientProtocol anda farklı iş parçacıklarından çağırabilirsiniz ancak özelliklerin tutarlı bir anlık görüntüsünün nesneye aktarılmasını sağlamak için WebRequest eşitleme yapılmaz. Bu nedenle, özellikleri değiştirmeniz ve farklı iş parçacıklarından eşzamanlı yöntem çağrıları yapmanız gerekiyorsa, XML Web hizmeti proxy'sinin farklı bir örneğini kullanmanız veya kendi eşitlemenizi sağlamanız gerekir.