Aracılığıyla paylaş


WebClientProtocol Sınıf

Tanım

ASP.NET kullanılarak oluşturulan tüm XML Web hizmeti istemci proxy'leri için temel sınıfı belirtir.

public ref class WebClientProtocol abstract : System::ComponentModel::Component
public abstract class WebClientProtocol : System.ComponentModel.Component
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class WebClientProtocol : System.ComponentModel.Component
type WebClientProtocol = class
    inherit Component
[<System.Runtime.InteropServices.ComVisible(true)>]
type WebClientProtocol = class
    inherit Component
Public MustInherit Class WebClientProtocol
Inherits Component
Devralma
WebClientProtocol
Türetilmiş
Öznitelikler

Örnekler

Aşağıdaki örnek, Mathadlı bir XML Web hizmetini çağıran bir ASP.NET Web Formudur. EnterBtn_Click işlevinde, Web Formu uzak XML Web hizmeti yöntemini çağırmadan önce ara sunucu sınıfında ara sunucu bilgilerini ve istemci kimlik bilgilerini ayarlar.

Ö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ış.

<%@ 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();

             // Set the client-side credentials using the Credentials property.
             ICredentials credentials = new NetworkCredential("Joe","mydomain","password");
             math.Credentials = credentials;
             
             // Do not allow the server to redirect the request.
             math.AllowAutoRedirect = false;
             
             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()
            
            ' Set the client-side credentials using the Credentials property.
            Dim credentials As New NetworkCredential("Joe", "password", "mydomain")
            math.Credentials = credentials
            
            ' Do not allow the server to redirect the request.
            math.AllowAutoRedirect = False
            
            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

WebClientProtocol sınıfının özellikleri, XML Web hizmeti isteğini ve yanıtını iletmek için kullanılan aktarım davranışını denetlemek için kullanılır. Bu sınıf üzerindeki özellikler, WebRequestüzerinde bulunan özelliklerle eşler. HttpWebRequestgibi WebRequesttüretilen sınıfların örnekleri, ASP.NET kullanılarak oluşturulan XML Web hizmetleri için aktarım mekanizması olarak kullanılır.

XML Web hizmetiyle iletişim kurmak için, çağırmak istediğiniz XML Web hizmeti için dolaylı veya doğrudan WebClientProtocol 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. WebClientProtocol istemci proxy'niz için temel sınıf olduğundan, özelliklerini proxy sınıflarınızda bulursunuz. Bu özellikler, temel alınan aktarımın istek davranışını denetlemek için kullanışlıdır. Örneğin, kimliği doğrulanmış XML Web hizmetlerini çağırmak için Credentials özelliğini kullanın. WebClientProtocol özelliklerinin çoğu, Web isteğinde bulunmak için kullanılan WebRequest nesnesini başlatmak için kullanılır.

Oluşturucular

WebClientProtocol()

WebClientProtocol sınıfının yeni bir örneğini başlatır.

Özellikler

CanRaiseEvents

Bileşenin olay oluşturup oluşturamayacağını belirten bir değer alır.

(Devralındığı yer: Component)
ConnectionGroupName

İstek için bağlantı grubunun adını alır veya ayarlar.

Container

Componentiçeren IContainer alır.

(Devralındığı yer: Component)
Credentials

XML Web hizmeti istemci kimlik doğrulaması için güvenlik kimlik bilgilerini alır veya ayarlar.

DesignMode

Component şu anda tasarım modunda olup olmadığını gösteren bir değer alır.

(Devralındığı yer: Component)
Events

Bu Componenteklenen 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.

RequestEncoding

XML Web hizmetine istemci isteğinde bulunmak için kullanılan Encoding.

Site

Component ISite alır veya ayarlar.

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

Url

İstemcinin istediği XML Web hizmetinin temel URL'sini alır veya ayarlar.

UseDefaultCredentials

Credentials özelliğinin DefaultCredentials özelliğinin değerine ayarlanıp ayarlanmayacağını belirten bir değer alır veya ayarlar.

Yöntemler

Abort()

XML Web hizmeti yöntemine yönelik isteği iptal eder.

AddToCache(Type, Object)

Önbelleğe istemci protokolü işleyicisinin bir örneğini ekleyin.

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

Componenttarafı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 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)
GetFromCache(Type)

Önbellekten istemci protokolü işleyicisinin bir örneğini alır.

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)

Component veya Containertarafından 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 uriiçin bir WebRequest örneği oluşturur. Bu korumalı yöntem, XML Web hizmeti istemci altyapısı tarafından XML Web hizmeti isteğini iletmek üzere yeni bir WebRequest aktarım nesnesi almak için çağrılır.

GetWebResponse(WebRequest, IAsyncResult)

Xml Web hizmeti yöntemine zaman uyumsuz istekten bir yanıt döndürür. Bu korumalı yöntem, zaman uyumsuz bir XML Web hizmeti isteğinden yanıt almak için XML Web hizmeti istemci altyapısı tarafından çağrılı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 nesnesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: MarshalByRefObject)
ToString()

varsa, Componentadını iç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 Dispose() yöntemine 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 yeni bir WebRequest nesnesi örneğine kopyalanır. Aynı WebClientProtocol örneğindeki XML Web hizmeti yöntemlerini farklı iş parçacıklarından aynı anda çağırabilirsiniz ancak özelliklerin tutarlı bir anlık görüntüsünün WebRequest nesnesine aktarılmasını sağlamak için 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.