WebClientProtocol Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee geeft u de basisklasse op voor alle XML-webserviceclientproxy's die zijn gemaakt met 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
- Overname
- Afgeleid
- Kenmerken
Voorbeelden
Het volgende voorbeeld is een ASP.NET webformulier, dat een XML-webservice aanroept met de naam Math. Binnen de EnterBtn_Click functie stelt het webformulier proxygegevens en clientreferenties in de proxyklasse in voordat de externe XML-webservicemethode wordt aangeroepen.
Important
Dit voorbeeld heeft een tekstvak dat gebruikersinvoer accepteert. Dit is een mogelijke beveiligingsrisico. Standaard valideren ASP.NET webpagina's dat gebruikersinvoer geen script- of HTML-elementen bevat. Zie Overzicht van Script Exploits voor meer informatie.
<%@ 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>
Opmerkingen
De eigenschappen van de WebClientProtocol klasse worden gebruikt om het gedrag te bepalen van het transport dat wordt gebruikt voor het verzenden van de XML-webserviceaanvraag en het antwoord. De eigenschappen op deze klasse worden toegewezen aan eigenschappen die op WebRequest. Exemplaren van klassen die zijn afgeleid van WebRequest, zoals HttpWebRequest, worden gebruikt als het transportmechanisme voor XML-webservices die zijn gemaakt met ASP.NET.
Als u wilt communiceren met een XML-webservice, moet u een proxyklasse maken die indirect of rechtstreeks afkomstig is van WebClientProtocol de XML-webservice die u wilt aanroepen. In plaats van de proxyklasse handmatig te maken, kunt u het hulpprogramma Wsdl.exe gebruiken om een proxyklasse te maken voor de servicebeschrijving van een bepaalde XML-webservice. Omdat WebClientProtocol dit de basisklasse voor uw clientproxy is, vindt u de eigenschappen van uw proxyklassen. Deze eigenschappen zijn handig voor het beheren van het aanvraaggedrag van het onderliggende transport. Gebruik bijvoorbeeld de eigenschap voor het Credentials aanroepen van geverifieerde XML-webservices. Veel van de WebClientProtocol eigenschappen worden gebruikt om het WebRequest object te initialiseren dat wordt gebruikt voor het indienen van de webaanvraag.
Constructors
| Name | Description |
|---|---|
| WebClientProtocol() |
Initialiseert een nieuw exemplaar van de WebClientProtocol klasse. |
Eigenschappen
| Name | Description |
|---|---|
| CanRaiseEvents |
Hiermee wordt een waarde opgehaald die aangeeft of het onderdeel een gebeurtenis kan genereren. (Overgenomen van Component) |
| ConnectionGroupName |
Hiermee haalt u de naam van de verbindingsgroep voor de aanvraag op of stelt u deze in. |
| Container |
Hiermee haalt u het IContainer bestand op dat de Component. (Overgenomen van Component) |
| Credentials |
Hiermee haalt u beveiligingsreferenties op voor clientverificatie van xml-webservices of stelt u deze in. |
| DesignMode |
Hiermee wordt een waarde opgehaald die aangeeft of de Component momenteel in de ontwerpmodus is. (Overgenomen van Component) |
| Events |
Hiermee haalt u de lijst met gebeurtenis-handlers op die aan dit Componentbestand zijn gekoppeld. (Overgenomen van Component) |
| PreAuthenticate |
Hiermee haalt u op of stelt u in of verificatie vooraf is ingeschakeld. |
| RequestEncoding |
Hiermee Encoding wordt de clientaanvraag naar de XML-webservice verzonden. |
| Site |
Haalt of stelt de ISite van de Component. (Overgenomen van Component) |
| Timeout |
Geeft de tijd aan waarop een XML-webserviceclient wacht tot het antwoord op een synchrone XML-webserviceaanvraag binnenkomt (in milliseconden). |
| Url |
Haalt de basis-URL van de XML-webservice op die de client aanvraagt of stelt deze in. |
| UseDefaultCredentials |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de Credentials eigenschap moet worden ingesteld op de waarde van de DefaultCredentials eigenschap. |
Methoden
| Name | Description |
|---|---|
| Abort() |
Hiermee annuleert u een aanvraag naar een XML-webservicemethode. |
| AddToCache(Type, Object) |
Voeg een exemplaar van de clientprotocolhandler toe aan de cache. |
| CreateObjRef(Type) |
Hiermee maakt u een object dat alle relevante informatie bevat die nodig is om een proxy te genereren die wordt gebruikt om te communiceren met een extern object. (Overgenomen van MarshalByRefObject) |
| Dispose() |
Alle resources die worden gebruikt door de Component. (Overgenomen van Component) |
| Dispose(Boolean) |
Publiceert de niet-beheerde resources die worden gebruikt door de Component beheerde resources en brengt eventueel de beheerde resources vrij. (Overgenomen van Component) |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetFromCache(Type) |
Hiermee haalt u een exemplaar van een clientprotocolhandler op uit de cache. |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetLifetimeService() |
Hiermee haalt u het huidige levensduurserviceobject op waarmee het levensduurbeleid voor dit exemplaar wordt beheerd. (Overgenomen van MarshalByRefObject) |
| GetService(Type) |
Hiermee wordt een object geretourneerd dat een service vertegenwoordigt die wordt geleverd door of door de Component service Container. (Overgenomen van Component) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| GetWebRequest(Uri) |
Hiermee maakt u een WebRequest exemplaar voor de opgegeven |
| GetWebResponse(WebRequest, IAsyncResult) |
Retourneert een antwoord van een asynchrone aanvraag naar een XML-webservicemethode. Deze beveiligde methode wordt aangeroepen door de clientinfrastructuur van de XML-webservice om het antwoord van een asynchrone XML-webserviceaanvraag op te halen. |
| GetWebResponse(WebRequest) |
Retourneert een antwoord van een synchrone aanvraag naar een XML-webservicemethode. |
| InitializeLifetimeService() |
Hiermee haalt u een levensduurserviceobject op om het levensduurbeleid voor dit exemplaar te beheren. (Overgenomen van MarshalByRefObject) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| MemberwiseClone(Boolean) |
Hiermee maakt u een ondiepe kopie van het huidige MarshalByRefObject object. (Overgenomen van MarshalByRefObject) |
| ToString() |
Retourneert een String met de naam van de Component, indien van toepassing. Deze methode mag niet worden overschreven. (Overgenomen van Component) |
gebeurtenis
| Name | Description |
|---|---|
| Disposed |
Treedt op wanneer het onderdeel wordt verwijderd door een aanroep naar de Dispose() methode. (Overgenomen van Component) |
Van toepassing op
Veiligheid thread
De eigenschappen van deze klasse worden gekopieerd naar een nieuw exemplaar van een object voor elke aanroep van de WebRequest XML-webservicemethode. Hoewel u XML-webservicemethoden op hetzelfde WebClientProtocol exemplaar van verschillende threads tegelijk kunt aanroepen, is er geen synchronisatie uitgevoerd om ervoor te zorgen dat een consistente momentopname van de eigenschappen wordt overgebracht naar het WebRequest object. Als u daarom de eigenschappen wilt wijzigen en gelijktijdige methodeaanroepen wilt maken vanuit verschillende threads, moet u een ander exemplaar van de XML-webserviceproxy gebruiken of uw eigen synchronisatie opgeven.