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, adlı Mathbir XML Web hizmetini çağıran bir ASP.NET Web Formudur. işlevinde EnterBtn_Click , Web Formu uzak XML Web hizmeti yöntemini çağırmadan önce ara sunucu sınıfındaki 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

sınıfının özellikleri WebClientProtocol , 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ıftaki özellikler üzerinde bulunan özelliklerle eşler WebRequest. gibi HttpWebRequestöğesinden 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ı olarak veya doğrudan öğesinden WebClientProtocol türetilen bir ara sunucu sınıfı oluşturmanız gerekir. Ara sunucu sınıfını el ile oluşturmak yerine, belirli bir XML Web hizmetinin hizmet açıklaması için ara sunucu sınıfı oluşturmak üzere Wsdl.exe aracını kullanabilirsiniz. İstemci proxy'nizin temel sınıfı olduğundan WebClientProtocol , özelliklerini ara sunucu sınıflarınızda bulabilirsiniz. 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 özelliğini kullanın Credentials . Özelliklerin WebClientProtocol çoğu, Web isteğinde bulunmak için kullanılan nesneyi başlatmak WebRequest 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 bir 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

öğesini IContainer içeren öğesini Componentalır.

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

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

DesignMode

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

(Devralındığı yer: Component)
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.

RequestEncoding

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

Site

öğesini alır veya ayarlar ISite Component.

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

XML Web hizmeti istemcisinin zaman uyumlu bir XML Web hizmeti isteğinin yanıtlanmasını beklediği süreyi gösterir (milisaniye cinsinden).

Url

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

UseDefaultCredentials

Özelliğin özelliğinin değerine ayarlanıp ayarlanmayacağını Credentials belirten bir değer DefaultCredentials 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()

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)
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()
Kullanımdan kalktı.

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

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

InitializeLifetimeService()
Kullanımdan kalktı.

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ılacağından emin olmak 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.