您好,登錄后才能下訂單哦!
如何在Asp.net中使用soapheader進行驗證?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
第一步:用來作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進行驗證問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。