WebClientProtocol クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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
- 継承
- 派生
- 属性
例
次の例は、 という名前 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。 から WebRequest派生するクラスのインスタンス ( など HttpWebRequest) は、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 |
Component の ISite を取得または設定します。 (継承元 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) |
指定した |
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) |
イベント
Disposed |
Dispose() メソッドの呼び出しによってコンポーネントが破棄されるときに発生します。 (継承元 Component) |
適用対象
スレッド セーフ
このクラスのプロパティは、XML Web サービス メソッドの呼び出しごとに オブジェクトの WebRequest 新しいインスタンスにコピーされます。 異なるスレッドから同じ WebClientProtocol インスタンスで XML Web サービス メソッドを同時に呼び出すことができますが、プロパティの一貫性のあるスナップショットがオブジェクトに転送されるように同期 WebRequest は行われません。 したがって、プロパティを変更し、異なるスレッドからメソッド呼び出しを同時に行う必要がある場合は、XML Web サービス プロキシの別のインスタンスを使用するか、独自の同期を提供する必要があります。
こちらもご覧ください
.NET