Udostępnij za pośrednictwem


WebClientProtocol Klasa

Definicja

Określa klasę bazową dla wszystkich serwerów proxy klienta usługi sieci Web XML utworzonych przy użyciu 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
Dziedziczenie
WebClientProtocol
Pochodne
Atrybuty

Przykłady

Poniższy przykład to formularz sieci Web ASP.NET, który wywołuje usługę sieci Web XML o nazwie Math. W funkcji EnterBtn_Click formularz sieci Web ustawia informacje o serwerze proxy i poświadczenia klienta w klasie serwera proxy przed wywołaniem zdalnej metody usługi sieci Web XML.

Ważny

W tym przykładzie znajduje się pole tekstowe, które akceptuje dane wejściowe użytkownika, co jest potencjalnym zagrożeniem bezpieczeństwa. Domyślnie ASP.NET strony sieci Web sprawdzają, czy dane wejściowe użytkownika nie zawierają skryptu ani elementów HTML. Aby uzyskać więcej informacji, zobacz Script Exploits Overview.

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

Uwagi

Właściwości klasy WebClientProtocol służą do kontrolowania zachowania transportu używanego do przesyłania żądania i odpowiedzi w sieci Web XML. Właściwości tej klasy są mapować na właściwości znalezione w WebRequest. Wystąpienia klas pochodnych z WebRequest, takich jak HttpWebRequest, są używane jako mechanizm transportu dla usług sieci Web XML utworzonych przy użyciu ASP.NET.

Aby komunikować się z usługą sieci Web XML, należy utworzyć klasę serwera proxy wyprowadzaną pośrednio lub bezpośrednio z WebClientProtocol dla usługi sieci Web XML, którą chcesz wywołać. Zamiast ręcznie tworzyć klasę serwera proxy, możesz użyć narzędzia Wsdl.exe, aby utworzyć klasę serwera proxy dla danego opisu usługi sieci Web XML. Ponieważ WebClientProtocol jest klasą bazową serwera proxy klienta, jej właściwości znajdują się w klasach serwera proxy. Te właściwości są przydatne do kontrolowania zachowania żądania transportu bazowego. Na przykład użyj właściwości Credentials do wywoływania uwierzytelnionych usług sieci Web XML. Wiele właściwości WebClientProtocol służy do inicjowania obiektu WebRequest używanego do tworzenia żądania sieci Web.

Konstruktory

WebClientProtocol()

Inicjuje nowe wystąpienie klasy WebClientProtocol.

Właściwości

CanRaiseEvents

Pobiera wartość wskazującą, czy składnik może zgłosić zdarzenie.

(Odziedziczone po Component)
ConnectionGroupName

Pobiera lub ustawia nazwę grupy połączeń dla żądania.

Container

Pobiera IContainer, który zawiera Component.

(Odziedziczone po Component)
Credentials

Pobiera lub ustawia poświadczenia zabezpieczeń na potrzeby uwierzytelniania klienta usługi sieci Web XML.

DesignMode

Pobiera wartość wskazującą, czy Component jest obecnie w trybie projektowania.

(Odziedziczone po Component)
Events

Pobiera listę programów obsługi zdarzeń dołączonych do tej Component.

(Odziedziczone po Component)
PreAuthenticate

Pobiera lub ustawia, czy jest włączone wstępne uwierzytelnianie.

RequestEncoding

Encoding użyte do wykonania żądania klienta do usługi sieci Web XML.

Site

Pobiera lub ustawia ISiteComponent.

(Odziedziczone po Component)
Timeout

Wskazuje czas oczekiwania klienta usługi sieci Web XML na odpowiedź na synchroniczne żądanie usługi sieci Web XML do odebrania (w milisekundach).

Url

Pobiera lub ustawia podstawowy adres URL usługi sieci Web XML, którego żąda klient.

UseDefaultCredentials

Pobiera lub ustawia wartość wskazującą, czy ustawić właściwość Credentials na wartość właściwości DefaultCredentials.

Metody

Abort()

Anuluje żądanie do metody usługi sieci Web XML.

AddToCache(Type, Object)

Dodaj wystąpienie programu obsługi protokołu klienta do pamięci podręcznej.

CreateObjRef(Type)

Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym.

(Odziedziczone po MarshalByRefObject)
Dispose()

Zwalnia wszystkie zasoby używane przez Component.

(Odziedziczone po Component)
Dispose(Boolean)

Zwalnia niezarządzane zasoby używane przez Component i opcjonalnie zwalnia zarządzane zasoby.

(Odziedziczone po Component)
Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetFromCache(Type)

Pobiera wystąpienie programu obsługi protokołu klienta z pamięci podręcznej.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetLifetimeService()
Przestarzałe.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetService(Type)

Zwraca obiekt reprezentujący usługę dostarczaną przez Component lub Container.

(Odziedziczone po Component)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
GetWebRequest(Uri)

Tworzy wystąpienie WebRequest dla określonego uri. Ta chroniona metoda jest wywoływana przez infrastrukturę klienta usługi sieci Web XML w celu pobrania nowego obiektu transportu WebRequest w celu przesłania żądania usługi sieci Web XML.

GetWebResponse(WebRequest, IAsyncResult)

Zwraca odpowiedź z asynchronicznego żądania do metody usługi sieci Web XML. Ta chroniona metoda jest wywoływana przez infrastrukturę klienta usługi sieci Web XML w celu uzyskania odpowiedzi z asynchronicznego żądania usługi sieci Web XML.

GetWebResponse(WebRequest)

Zwraca odpowiedź z synchronicznego żądania do metody usługi sieci Web XML.

InitializeLifetimeService()
Przestarzałe.

Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy płytkią kopię bieżącego obiektu MarshalByRefObject.

(Odziedziczone po MarshalByRefObject)
ToString()

Zwraca String zawierającą nazwę Component, jeśli istnieje. Ta metoda nie powinna być zastępowana.

(Odziedziczone po Component)

Zdarzenia

Disposed

Występuje, gdy składnik jest usuwany przez wywołanie metody Dispose().

(Odziedziczone po Component)

Dotyczy

Bezpieczeństwo wątkowe

Właściwości tej klasy są kopiowane do nowego wystąpienia obiektu WebRequest dla każdego wywołania metody usługi sieci Web XML. Chociaż w tym samym czasie można wywołać metody usługi sieci Web XML w tym samym wystąpieniu WebClientProtocol z różnych wątków, nie ma synchronizacji, aby upewnić się, że spójna migawka właściwości zostanie przeniesiona do obiektu WebRequest. W związku z tym, jeśli musisz zmodyfikować właściwości i wykonać współbieżne wywołania metody z różnych wątków, należy użyć innego wystąpienia serwera proxy usługi sieci Web XML lub udostępnić własną synchronizację.

Zobacz też