asp.net WEBSERVICEヘッダファイルの検証を追加

最初のステップは、新しいasp.netプロジェクト

MyTestにWSサービスの追加2

コードは以下の通りです

2.1ヘッダファイルの設立は、エンティティクラスていることを確認する必要があります

1  使ってシステム;
 2  使用System.Collections.Generic;
 3。 使用System.Linqの;
 4。 使用System.Webのと、
 5。 使用System.Web.Services.Protocols;
 6。 
7。 ネームスペースAspheadnet.Models
 8。 {
 9。     パブリック クラスUserSoapHeader:SoapHeaderは
 10      {
 11          プライベート 文字列_username;
 12である 
13れる         プライベート 文字列_pwd;
 14  
15          // パブリックプロパティは、自動的にXMLノード生成する
16  
17。         公共の 文字列のユーザー名
 18          {
 19  
20は             、GET { 戻り_username。}
 21  
22              セット {_username = 値。}
 23  
24          }
 25          公衆 Pwdの
 26          {
 27  
28              GET { 戻り_pwd。}
 29  
30              セット {_pwd = 値。}
 31  
32          }
 33      }
 34 }

2.2書き込みWSサービス

1  使用Aspheadnet.Models。
2  使用してシステムを。
3  使用System.Collections.Genericと、
4  使用System.Linqのを。
5  使用のSystem.Webと、
6  使用System.Web.Services。
7  使用System.Web.Services.Protocols。
8  
9  名前空間Aspheadnet
 10  {
 11      ///  <要約> 
12      /// のMyTest的摘要说明
 13      ///  </要約> 
14      [Webサービス(ネームスペース= " http://tempuri.org/ ")]
 15      [WebServiceBinding(conformsTo = WsiProfiles.BasicProfile1_1)]
 16      [System.ComponentModel.ToolboxItem()]
 17      // これを呼び出すためのスクリプトからASP.NET AJAX Webサービスの使用を可能にする、コメントを解除次の行。 
18は、     // [System.Web.Script.Services.ScriptService] 
19。     パブリック クラスのMyTest:System.Web.Services.WebService
 20であるが     、{
 21は 
22である         // 属性の検証としてこの属性
 23である         // この変数名にSoapHeaderAttribute方法一致
24          公衆UserSoapHeader userHeader;
 25  
26である         [WebMethod属性]
 27         [SoapHeaderは(userHeader )] // ここでは非常に重要な、と同じ名前の属性定義の名前を確認するために!
28          公共の 文字列のHelloWorld()は
 29          {
 30              // このメソッドを入力した後、userHeaderは自動的に値があります
31は             IF(userHeader! = NULL 32              {
 33は                 IF(userHeader.UserName =!" ジョー・スミス" 34である                 {
 35                      リターン " ユーザ名が一致しません" ;
 36                  }
 37 [                  IF!(= userHeader.Pwd "123 " 38は、                 {
 39                      リターン " パスワードが一致しない" ;
 40                  }
 41である 
42れる                 リターン " 要求が成功した" 43は44れる            }
 45 46であり、リターン" 無効な要求;
 47         }
 48     }
 49 } 
  
                

ステップ3クライアントコール

サービス参照3.1 Webサービスを追加します。

1      <クライアント>
 2        <エンドポイントアドレス= " http://192.168.21.195:8033/MyTest.asmx " =結合" basicHttpBinding " 
3          bindingConfiguration = " MyTestSoap "契約= " TestService.MyTestSoap " 
4          名= " MyTestSoapを" />
 5      </クライアント>

ここで私は、ローカルテスト環境のIISをリリース

関連するコードを記述するための3.2インタフェース

        保護された ボイドのButton1 Click(オブジェクト送信者、のEventArgs電子)
        { 
            テスト(); 
        } 

        ボイド試験()
        { 
            client.TestService.MyTestSoapClient MC = 新しいMyTestSoapClient()。

            WebServiceのS = 新しいWebサービス(); 
            UserSoapHeader A = 新しいUserSoapHeader(); 

            a.UserName = " 张三" 

            a.Pwd = " 123 " ;

            Response.Writeを(mc.HelloWorld(a)参照)。
        }

結果は以下のとおりであります

 

説明ファイルの要求が成功しすぎて認定されました。

 

  3.2ヘッダファイルを引数に関与していない、またはエラーに渡されたパラメータが無効な要求になります。

 

この文書では、ボタンイベントの下に、このページをクロールする方法について説明します。

おすすめ

転載: www.cnblogs.com/suntanyong88/p/12426558.html