WebClientProtocol Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
- 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 |
| 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.