WebClientProtocol Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje základní třídu pro všechny proxy serveru webové služby XML vytvořené pomocí 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
- Dědičnost
- Odvozené
- Atributy
Příklady
Následující příklad je webový formulář ASP.NET, který volá webovou službu XML s názvem Math.
EnterBtn_Click Ve funkci webový formulář nastaví informace o proxy serveru a přihlašovací údaje klienta ve třídě proxy před voláním vzdálené metody webové služby XML.
Důležité
Tento příklad obsahuje textové pole, které přijímá vstup uživatele, což je potenciální bezpečnostní hrozba. Ve výchozím nastavení ASP.NET webové stránky ověřují, že vstup uživatele neobsahuje skripty ani elementy HTML. Další informace naleznete v tématu Přehled zneužití skriptů.
<%@ 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>
Poznámky
Vlastnosti WebClientProtocol třídy slouží k řízení chování přenosu použitého k přenosu požadavku a odpovědi webové služby XML. Vlastnosti v této třídě mapovat na vlastnosti nalezené na WebRequest. Instance tříd odvozených z WebRequest, například HttpWebRequest, se používají jako transportní mechanismus pro webové služby XML vytvořené pomocí ASP.NET.
Chcete-li komunikovat s webovou službou XML, musíte vytvořit třídu proxy odvozenou nepřímo nebo přímo z WebClientProtocol webové služby XML, kterou chcete volat. Místo ručního vytváření třídy proxy můžete pomocí nástroje Wsdl.exe vytvořit třídu proxy pro popis služby dané webové služby XML. Vzhledem k tomu WebClientProtocol , že je základní třídou vašeho klientského proxy serveru, najdete její vlastnosti ve třídách proxy. Tyto vlastnosti jsou užitečné pro řízení chování požadavků základního přenosu. Použijte Credentials například vlastnost pro volání ověřených webových služeb XML. Mnoho vlastností WebClientProtocol se používá k inicializaci objektu WebRequest , který slouží k vytvoření webového požadavku.
Konstruktory
| Name | Description |
|---|---|
| WebClientProtocol() |
Inicializuje novou instanci WebClientProtocol třídy. |
Vlastnosti
| Name | Description |
|---|---|
| CanRaiseEvents |
Získá hodnotu určující, zda komponenta může vyvolat událost. (Zděděno od Component) |
| ConnectionGroupName |
Získá nebo nastaví název skupiny připojení pro požadavek. |
| Container |
Získá ten IContainer , který obsahuje Component. (Zděděno od Component) |
| Credentials |
Získá nebo nastaví přihlašovací údaje zabezpečení pro ověřování klienta webové služby XML. |
| DesignMode |
Získá hodnotu, která označuje, zda Component je aktuálně v režimu návrhu. (Zděděno od Component) |
| Events |
Získá seznam obslužných rutin událostí, které jsou připojeny k tomuto Component. (Zděděno od Component) |
| PreAuthenticate |
Získá nebo nastaví, zda je povoleno předběžné ověřování. |
| RequestEncoding |
Používá Encoding se k vytvoření požadavku klienta na webovou službu XML. |
| Site |
Získá nebo nastaví ISite .Component (Zděděno od Component) |
| Timeout |
Označuje čas, kdy klient webové služby XML čeká na odpověď na synchronní požadavek webové služby XML dorazí (v milisekundách). |
| Url |
Získá nebo nastaví základní adresu URL webové služby XML, kterou klient požaduje. |
| UseDefaultCredentials |
Získá nebo nastaví hodnotu, která určuje, zda má být vlastnost nastavena Credentials na hodnotu DefaultCredentials vlastnosti. |
Metody
| Name | Description |
|---|---|
| Abort() |
Zruší požadavek na metodu webové služby XML. |
| AddToCache(Type, Object) |
Přidejte do mezipaměti instanci obslužné rutiny klientského protokolu. |
| CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy serveru sloužícího ke komunikaci se vzdáleným objektem. (Zděděno od MarshalByRefObject) |
| Dispose() |
Uvolní všechny prostředky používané nástrojem Component. (Zděděno od Component) |
| Dispose(Boolean) |
Uvolní nespravované prostředky používané Component a volitelně uvolní spravované prostředky. (Zděděno od Component) |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetFromCache(Type) |
Získá instanci obslužné rutiny klientského protokolu z mezipaměti. |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetLifetimeService() |
Zastaralé.
Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
| GetService(Type) |
Vrátí objekt, který představuje službu poskytovanou objektem Component nebo jeho Container. (Zděděno od Component) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| GetWebRequest(Uri) |
Vytvoří instanci pro zadanou WebRequest |
| GetWebResponse(WebRequest, IAsyncResult) |
Vrátí odpověď z asynchronního požadavku na metodu webové služby XML. Tato chráněná metoda je volána klientskou infrastrukturou webové služby XML k získání odpovědi z asynchronního požadavku webové služby XML. |
| GetWebResponse(WebRequest) |
Vrátí odpověď z synchronního požadavku na metodu webové služby XML. |
| InitializeLifetimeService() |
Zastaralé.
Získá objekt služby životnosti pro řízení zásad životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| MemberwiseClone(Boolean) |
Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu. (Zděděno od MarshalByRefObject) |
| ToString() |
String Vrátí hodnotu obsahující název Component, pokud existuje. Tato metoda by neměla být přepsána. (Zděděno od Component) |
Událost
| Name | Description |
|---|---|
| Disposed |
Nastane, když komponenta je uvolněna voláním Dispose() metody. (Zděděno od Component) |
Platí pro
Bezpečný přístup z více vláken
Vlastnosti této třídy se zkopírují do nové instance objektu WebRequest pro každé volání metody webové služby XML. I když můžete volat metody webové služby XML ve stejné WebClientProtocol instanci z různých vláken současně, není provedena žádná synchronizace, aby se zajistilo, že se do objektu WebRequest přenese konzistentní snímek vlastností. Proto pokud potřebujete upravit vlastnosti a provádět souběžná volání metod z různých vláken, měli byste použít jinou instanci proxy webové služby XML nebo poskytnout vlastní synchronizaci.