WebClientProtocol Klass

Definition

Anger basklassen för alla XML-webbtjänstklientproxys som skapats med hjälp av ASP.NET.

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
Arv
WebClientProtocol
Härledda
Attribut

Exempel

Följande exempel är ett ASP.NET webbformulär som anropar en XML-webbtjänst med namnet Math. EnterBtn_Click I funktionen anger webbformuläret proxyinformation och klientautentiseringsuppgifter för proxyklassen innan du anropar metoden för fjärr-XML-webbtjänst.

Important

Det här exemplet har en textruta som accepterar användarindata, vilket är ett potentiellt säkerhetshot. Som standard kontrollerar ASP.NET webbsidor att användarindata inte innehåller skript- eller HTML-element. Mer information finns i Översikt över skriptexploateringar.

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

Kommentarer

Egenskaperna för WebClientProtocol klassen används för att styra beteendet för den transport som används för att överföra XML-webbtjänstens begäran och svar. Egenskaperna på den här klasskartan till egenskaper som finns på WebRequest. Instanser av klasser som härleds från WebRequest, till exempel HttpWebRequest, används som transportmekanism för XML-webbtjänster som skapats med hjälp av ASP.NET.

Om du vill kommunicera med en XML-webbtjänst måste du skapa en proxyklass som härleds indirekt eller direkt från WebClientProtocol för den XML-webbtjänst som du vill anropa. I stället för att skapa proxyklassen manuellt kan du använda verktyget Wsdl.exe för att skapa en proxyklass för en viss XML-webbtjänsts tjänstbeskrivning. Eftersom WebClientProtocol är basklassen för klientproxyn hittar du dess egenskaper i proxyklasserna. Dessa egenskaper är användbara för att styra beteendet för begäran för den underliggande transporten. Använd till exempel egenskapen för att anropa autentiserade Credentials XML-webbtjänster. Många av WebClientProtocol egenskaperna används för att initiera det WebRequest objekt som används för att göra webbbegäran.

Konstruktorer

Name Description
WebClientProtocol()

Initierar en ny instans av WebClientProtocol klassen.

Egenskaper

Name Description
CanRaiseEvents

Hämtar ett värde som anger om komponenten kan generera en händelse.

(Ärvd från Component)
ConnectionGroupName

Hämtar eller anger namnet på anslutningsgruppen för begäran.

Container

Hämtar som IContainer innehåller Component.

(Ärvd från Component)
Credentials

Hämtar eller anger säkerhetsautentiseringsuppgifter för XML-webbtjänstklientautentisering.

DesignMode

Hämtar ett värde som anger om det Component för närvarande är i designläge.

(Ärvd från Component)
Events

Hämtar listan över händelsehanterare som är kopplade till den här Component.

(Ärvd från Component)
PreAuthenticate

Hämtar eller anger om förautentisering är aktiverat.

RequestEncoding

Används Encoding för att göra klientbegäran till XML-webbtjänsten.

Site

Hämtar eller ställer in ISite i Component.

(Ärvd från Component)
Timeout

Anger den tid då en XML-webbtjänstklient väntar på att svaret på en synkron XML-webbtjänstbegäran ska tas emot (i millisekunder).

Url

Hämtar eller anger bas-URL:en för DEN XML-webbtjänst som klienten begär.

UseDefaultCredentials

Hämtar eller anger ett värde som anger om egenskapen ska anges Credentials till egenskapens DefaultCredentials värde.

Metoder

Name Description
Abort()

Avbryter en begäran till en XML-webbtjänstmetod.

AddToCache(Type, Object)

Lägg till en instans av klientprotokollhanteraren i cacheminnet.

CreateObjRef(Type)

Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt.

(Ärvd från MarshalByRefObject)
Dispose()

Släpper alla resurser som används av Component.

(Ärvd från Component)
Dispose(Boolean)

Släpper de ohanterade resurser som används av Component och släpper eventuellt de hanterade resurserna.

(Ärvd från Component)
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetFromCache(Type)

Hämtar en instans av en klientprotokollhanterare från cacheminnet.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetLifetimeService()
Föråldrad.

Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
GetService(Type)

Returnerar ett objekt som representerar en tjänst som tillhandahålls av Component eller av dess Container.

(Ärvd från Component)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
GetWebRequest(Uri)

Skapar en WebRequest instans för den angivna uri. Den här skyddade metoden anropas av XML-webbtjänstklientinfrastrukturen för att hämta ett nytt WebRequest transportobjekt för att överföra XML-webbtjänstbegäran.

GetWebResponse(WebRequest, IAsyncResult)

Returnerar ett svar från en asynkron begäran till en XML-webbtjänstmetod. Den här skyddade metoden anropas av XML-webbtjänstklientinfrastrukturen för att hämta svaret från en asynkron XML-webbtjänstbegäran.

GetWebResponse(WebRequest)

Returnerar ett svar från en synkron begäran till en XML-webbtjänstmetod.

InitializeLifetimeService()
Föråldrad.

Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
MemberwiseClone(Boolean)

Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet.

(Ärvd från MarshalByRefObject)
ToString()

Returnerar ett String som innehåller namnet på Component, om det finns. Den här metoden bör inte åsidosättas.

(Ärvd från Component)

Händelser

Name Description
Disposed

Inträffar när komponenten tas bort av ett anrop till Dispose() metoden.

(Ärvd från Component)

Gäller för

Trådsäkerhet

Egenskaperna för den här klassen kopieras till en ny instans av ett WebRequest objekt för varje XML-webbtjänstmetodanrop. Du kan anropa XML-webbtjänstmetoder på samma WebClientProtocol instans från olika trådar samtidigt, men ingen synkronisering görs för att säkerställa att en konsekvent ögonblicksbild av egenskaperna överförs till WebRequest objektet. Om du behöver ändra egenskaperna och göra samtidiga metodanrop från olika trådar bör du därför använda en annan instans av XML-webbtjänstproxyn eller tillhandahålla din egen synkronisering.

Se även