WebClientProtocol クラス

定義

ASP.NET で作成されたすべての XML Web サービス クライアント プロキシの基本クラスを指定します。

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
継承
WebClientProtocol
派生
属性

次の例は、という名前Mathの XML Web サービスを呼び出す ASP.NET Web フォームです。 EnterBtn_Click関数内では、Web フォームは、リモート XML Web サービス メソッドを呼び出す前にプロキシ クラスにプロキシ情報とクライアント資格情報を設定します。

重要

この例には、ユーザー入力を受け付けるテキスト ボックスがあります。これにより、セキュリティが脆弱になる可能性があります。 既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。 詳細については、「スクリプトによる攻略の概要」を参照してください。

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

注釈

クラスの WebClientProtocol プロパティは、XML Web サービスの要求と応答の送信に使用されるトランスポートの動作を制御するために使用されます。 このクラスのプロパティは、次のプロパティにマップされます WebRequest。 たとえばHttpWebRequest、派生クラスWebRequestのインスタンスは、ASP.NET を使用して作成された XML Web サービスのトランスポート メカニズムとして使用されます。

XML Web サービスと通信するには、呼び出す XML Web サービスに対して間接的または直接派生 WebClientProtocol するプロキシ クラスを作成する必要があります。 プロキシ クラスを手動で作成する代わりに、Wsdl.exe ツールを使用して、特定の XML Web サービスのサービス記述のプロキシ クラスを作成できます。 クライアント プロキシの基本クラスであるため WebClientProtocol 、プロキシ クラスにはそのプロパティがあります。 これらのプロパティは、基になるトランスポートの要求動作を制御するのに役立ちます。 たとえば、認証された XML Web サービスを Credentials 呼び出す場合は、このプロパティを使用します。 多くのプロパティは WebClientProtocol 、Web 要求を WebRequest 行うために使用されるオブジェクトを初期化するために使用されます。

コンストラクター

WebClientProtocol()

WebClientProtocol クラスの新しいインスタンスを初期化します。

プロパティ

CanRaiseEvents

コンポーネントがイベントを発生させることがきるかどうかを示す値を取得します。

(継承元 Component)
ConnectionGroupName

要求に対して使用する接続グループの名前を取得または設定します。

Container

IContainer を含む Component を取得します。

(継承元 Component)
Credentials

XML Web サービス クライアント認証のセキュリティ資格情報を取得または設定します。

DesignMode

Component が現在デザイン モードかどうかを示す値を取得します。

(継承元 Component)
Events

Component に結び付けられているイベント ハンドラーのリストを取得します。

(継承元 Component)
PreAuthenticate

事前認証を有効にするかどうかを取得または設定します。

RequestEncoding

クライアントが XML Web サービスを要求するときに使用される Encoding

Site

ComponentISite を取得または設定します。

(継承元 Component)
Timeout

同期的な XML Web サービスの要求に対する返答の受信を XML Web サービス クライアントが待機する時間 (ミリ秒単位) を示します。

Url

クライアントが要求している XML Web サービスのベース URL を取得または設定します。

UseDefaultCredentials

Credentials プロパティを DefaultCredentials プロパティの値に設定するかどうかを示す値を取得または設定します。

メソッド

Abort()

XML Web サービス メソッドへの要求をキャンセルします。

AddToCache(Type, Object)

クライアント プロトコル ハンドラーのインスタンスをキャッシュに追加します。

CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。

(継承元 MarshalByRefObject)
Dispose()

Component によって使用されているすべてのリソースを解放します。

(継承元 Component)
Dispose(Boolean)

Component によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

(継承元 Component)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetFromCache(Type)

クライアント プロトコル ハンドラーのインスタンスをキャッシュから取得します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetLifetimeService()
互換性のために残されています。

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
GetService(Type)

Component またはその Container で提供されるサービスを表すオブジェクトを返します。

(継承元 Component)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetWebRequest(Uri)

指定した uri に対する WebRequest インスタンスを作成します。 この保護されているメソッドは、XML Web サービス クライアント インフラストラクチャから呼び出され、新しいWebRequest トランスポート オブジェクトを取得して、XML Web サービス要求を送信します。

GetWebResponse(WebRequest)

XML Web サービス メソッドへの同期要求から応答を返します。

GetWebResponse(WebRequest, IAsyncResult)

XML Web サービス メソッドへの非同期要求から応答を返します。 この保護されているメソッドは、XML Web サービス クライアント インフラストラクチャから呼び出され、非同期の XML Web サービス要求からの応答を取得します。

InitializeLifetimeService()
互換性のために残されています。

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。

(継承元 MarshalByRefObject)
ToString()

Component の名前 (存在する場合) を格納する String を返します。 このメソッドはオーバーライドできません。

(継承元 Component)

events

Disposed

Dispose() メソッドの呼び出しによってコンポーネントが破棄されるときに発生します。

(継承元 Component)

適用対象

スレッド セーフ

このクラスのプロパティは、XML Web サービス メソッド呼び出しごとにオブジェクトの WebRequest 新しいインスタンスにコピーされます。 異なるスレッドから同じ WebClientProtocol インスタンス上の XML Web サービス メソッドを同時に呼び出すことができますが、プロパティの一貫性のあるスナップショットがオブジェクトに転送されるように同期 WebRequest は行われません。 したがって、プロパティを変更し、異なるスレッドから同時メソッド呼び出しを行う必要がある場合は、XML Web サービス プロキシの別のインスタンスを使用するか、独自の同期を提供する必要があります。

こちらもご覧ください