Aracılığıyla paylaş


HttpWebClientProtocol Sınıf

Tanım

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, ara sunucu ayarlarını, istek kodlamasını ve isteğ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 proxy sınıfı oluşturmanız gerekir. Proxy 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, bir güvenlik duvarı aracılığıyla XML Web hizmetlerini çağırmak için özelliğini kullanın Proxy . Bu özelliklerin çoğu, Web isteğini yapan öğesini HttpWebRequest başlatmak için kullanılır.

SoapHttpClientProtocol, HttpGetClientProtocolve HttpPostClientProtocol doğrudan veya dolaylı olarak HttpWebClientProtocol soap, HTTP-GET ve HTTP-POST için destek sağlamak üzere türetilir.

Oluşturucular

HttpWebClientProtocol()

HttpWebClientProtocol 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.

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 açmanın etkinleştirilip etkinleştirilmediğini belirten 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ı aracılığıyla XML Web hizmeti isteği oluşturmak 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 süreyi (milisaniye cinsinden) gösterir.

(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.

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ğeri 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

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()

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)
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 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 URI için bir WebRequest oluşturur.

GetWebResponse(WebRequest)

Xml Web hizmeti yöntemine zaman uyumlu istekten bir yanıt döndürür.

GetWebResponse(WebRequest, IAsyncResult)

Xml Web hizmeti yöntemine zaman uyumsuz 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 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 sınıftaki özellikler, her XML Web hizmeti yöntemi çağrısı için bir 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.

Ayrıca bkz.