WebClientProtocol Osztály

Definíció

Megadja a ASP.NET használatával létrehozott xml webszolgáltatás-ügyfélproxyk alaposztályát.

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
Öröklődés
WebClientProtocol
Származtatott
Attribútumok

Példák

Az alábbi példa egy ASP.NET webűrlap, amely meghív egy Math nevű XML-webszolgáltatást. A függvényen belül a EnterBtn_Click webűrlap beállítja a proxyadatokat és az ügyfél hitelesítő adatait a proxyosztályon, mielőtt meghívja a távoli XML-webszolgáltatás metódusát.

Important

Ebben a példában egy szövegdoboz található, amely elfogadja a felhasználói bemenetet, ami potenciális biztonsági fenyegetés. Alapértelmezés szerint ASP.NET weblapok ellenőrzik, hogy a felhasználói bevitel nem tartalmaz-e szkript- vagy HTML-elemeket. További információ: Szkript kihasználása – áttekintés.

<%@ 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>

Megjegyzések

Az osztály tulajdonságai WebClientProtocol az XML webszolgáltatás kérésének és válaszának továbbításához használt átvitel viselkedésének szabályozására szolgálnak. Az osztálytérkép tulajdonságai a következő tulajdonságokra WebRequestvannak kapcsolva: . A WebRequest,például HttpWebRequest-ből származó osztályok az ASP.NET használatával létrehozott XML-webszolgáltatások átviteli mechanizmusaként használhatók.

Az XML-webszolgáltatással való kommunikációhoz létre kell hoznia egy proxyosztályt, amely közvetve vagy közvetlenül a meghívni kívánt XML-webszolgáltatásból WebClientProtocol származik. A proxyosztály manuális létrehozása helyett a Wsdl.exe eszközzel proxyosztályt hozhat létre egy adott XML-webszolgáltatás szolgáltatásleírásához. Mivel WebClientProtocol az ügyfélproxy alaposztálya, a tulajdonságai a proxyosztályokon találhatók. Ezek a tulajdonságok a mögöttes átvitel kérési viselkedésének szabályozásához hasznosak. Használja például a tulajdonságot hitelesített Credentials XML-webszolgáltatások meghívásához. A rendszer számos WebClientProtocol tulajdonságot használ a WebRequest webes kérelem létrehozásához használt objektum inicializálására.

Konstruktorok

Name Description
WebClientProtocol()

Inicializálja a WebClientProtocol osztály új példányát.

Tulajdonságok

Name Description
CanRaiseEvents

Beolvas egy értéket, amely jelzi, hogy az összetevő képes-e eseményt létrehozni.

(Öröklődés forrása Component)
ConnectionGroupName

Lekéri vagy beállítja a kérés kapcsolatcsoportjának nevét.

Container

Lekéri a IContainer .Component

(Öröklődés forrása Component)
Credentials

Lekéri vagy beállítja a biztonsági hitelesítő adatokat az XML Web Service-ügyfélhitelesítéshez.

DesignMode

Olyan értéket kap, amely jelzi, hogy az Component aktuálisan tervezési módban van-e.

(Öröklődés forrása Component)
Events

Lekéri az ehhez Componentcsatolt eseménykezelők listáját.

(Öröklődés forrása Component)
PreAuthenticate

Lekérdezi vagy beállítja, hogy engedélyezve van-e az előzetes hitelesítés.

RequestEncoding

Az Encoding ügyfél kérésének az XML-webszolgáltatáshoz való küldéséhez használt.

Site

Lekéri vagy megadja a ISite értékét a Component-hez.

(Öröklődés forrása Component)
Timeout

Azt az időt jelzi, amikor egy XML-webszolgáltatás-ügyfél megvárja a szinkron XML-webszolgáltatás-kérésre adott választ (ezredmásodpercben).

Url

Lekéri vagy beállítja az ügyfél által kért XML-webszolgáltatás alap URL-címét.

UseDefaultCredentials

Lekéri vagy beállít egy értéket, amely jelzi, hogy a Credentials tulajdonságot a tulajdonság értékére DefaultCredentials szeretné-e állítani.

Metódusok

Name Description
Abort()

Megszakítja egy XML-webszolgáltatás-metódusra irányuló kérést.

AddToCache(Type, Object)

Adja hozzá az ügyfélprotokoll-kezelő egy példányát a gyorsítótárhoz.

CreateObjRef(Type)

Létrehoz egy objektumot, amely tartalmazza a távoli objektumokkal való kommunikációhoz használt proxy létrehozásához szükséges összes releváns információt.

(Öröklődés forrása MarshalByRefObject)
Dispose()

Felszabadítja a .-hez használt összes erőforrást Component.

(Öröklődés forrása Component)
Dispose(Boolean)

Felszabadítja a felügyelt erőforrások által Component használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat.

(Öröklődés forrása Component)
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetFromCache(Type)

Lekéri az ügyfélprotokoll-kezelő egy példányát a gyorsítótárból.

GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetLifetimeService()
Elavult.

Lekéri a példány élettartamszabályzatát vezérlő aktuális élettartam-szolgáltatásobjektumot.

(Öröklődés forrása MarshalByRefObject)
GetService(Type)

Olyan objektumot ad vissza, amely az általa vagy annak által ComponentContainernyújtott szolgáltatást jelöli.

(Öröklődés forrása Component)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
GetWebRequest(Uri)

Létrehoz egy példányt WebRequest a megadotthoz uri. Ezt a védett metódust az XML webszolgáltatás ügyfélinfrastruktúra meghívja egy új WebRequest átviteli objektum lekéréséhez az XML-webszolgáltatás kérésének továbbításához.

GetWebResponse(WebRequest, IAsyncResult)

Aszinkron kérés válaszát adja vissza egy XML Web Service-metódusnak. Ezt a védett metódust az XML webszolgáltatás ügyfélinfrastruktúrája hívja meg, hogy egy aszinkron XML-webszolgáltatás-kérés válaszát kapja meg.

GetWebResponse(WebRequest)

Egy xml-webszolgáltatás-metódusra irányuló szinkron kérés válaszát adja vissza.

InitializeLifetimeService()
Elavult.

Beolvas egy élettartam-szolgáltatásobjektumot a példány élettartam-szabályzatának szabályozásához.

(Öröklődés forrása MarshalByRefObject)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
MemberwiseClone(Boolean)

Az aktuális MarshalByRefObject objektum sekély másolatát hozza létre.

(Öröklődés forrása MarshalByRefObject)
ToString()

String A ( ha van) nevet tartalmazó értéket Componentad vissza. Ezt a módszert nem szabad felülírni.

(Öröklődés forrása Component)

esemény

Name Description
Disposed

Akkor fordul elő, ha az összetevőt a metódus hívása megsemmisíti Dispose() .

(Öröklődés forrása Component)

A következőre érvényes:

Szálbiztonság

Az osztály tulajdonságai minden XML-webszolgáltatás-metódushíváshoz egy objektum új példányába WebRequest lesznek másolva. Bár az XML webszolgáltatás metódusait egyszerre hívhatja meg különböző szálakból ugyanazon WebClientProtocol a példányon, nem történik szinkronizálás annak biztosítása érdekében, hogy a tulajdonságok konzisztens pillanatképe átkerüljön az WebRequest objektumba. Ezért ha módosítania kell a tulajdonságokat, és egyidejű metódushívásokat kell kezdeményeznie különböző szálakból, akkor az XML-webszolgáltatás proxyjának egy másik példányát kell használnia, vagy saját szinkronizálást kell biztosítania.

Lásd még