本文為大家分享了Asp.net頁面中調用以SOAP頭作驗證的web services操作步驟,供大家參考,具體內容如下
第一步:用來作SOAP驗證的類必須從SoapHeader類派生,類中Public的屬性將出現在自動產生XML節點中,即:
soap:Header>
UserSoapHeader xmlns="http://tempuri.org/">
UserName>string/UserName>
Pwd>string/Pwd>
/UserSoapHeader>
/soap:Header>
public class UserSoapHeader : SoapHeader
{
private string _userName;
private string _pwd;
//public的屬性將自動生成xml結點
public string UserName
{
get { return _userName; }
set { _userName = value; }
}
public string Pwd
{
get { return _pwd; }
set { _pwd = value; }
}
}
第二步:
在WebServices服務類中添加一個public的屬性(必須public),類型為從UserSoapHeader
/// summary>
/// WebService 的摘要說明
/// /summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WebService : System.Web.Services.WebService
{
//此屬性將作為驗證屬性
//方法的SoapHeaderAttribute中的名稱與此變量一致
public UserSoapHeader userHeader;
public WebService()
{
//如果使用設計的組件,請取消注釋以下行
//InitializeComponent();
}
[WebMethod]
[SoapHeader("userHeader")]//這里很重要,名稱要和定義的驗證屬性名稱一致!
public string HelloWorld()
{
//進入此方法后,userHeader將自動有值
if (userHeader != null)
{
return "this is retVal : " + userHeader.UserName;
}
return " check not successed ";
}
}
第三步:在客戶端進行調用:
1. 添加WEB引用
2. 實例化服務類
3. 實例化SOAP頭(在客戶端將會自動生成作來作驗證的屬性;該屬性類型為:UserSoapHeader;該屬性的名稱為:UserSoapHeaderValue) ;自動生成的屬性生成規則為:驗證類型名稱+Value;
4. 調用服務提供的方法。
WebService s = new WebService();
UserSoapHeader a = new UserSoapHeader();
a.UserName = "admin";
a.Pwd = "zz";
s.UserSoapHeaderValue = a; //此屬性是自動生成的
Response.Write( s.HelloWorld() ); // this is retVal : admin
很簡單吧,希望大家都能夠掌握asp.net中用soapheader作驗證的步驟,謝謝大家的閱讀。
您可能感興趣的文章:- ASP.net 驗證碼實現代碼(C#)
- ASP.NET Internet安全Forms身份驗證方法
- 驗證一個ASP.NET應用程序和頁面的生命周期的實現代碼
- ASP.NET MVC5添加驗證(4)
- ASP.NET窗體身份驗證詳解
- asp.net中的窗體身份驗證(最簡單篇)
- ASP.NET通用權限驗證的實現代碼思路
- 詳解ASP.NET MVC Form表單驗證
- ASP.NET MVC4入門教程(六):驗證編輯方法和編輯視圖