1、新增一個SoapHeader類
public class Certificate : System.Web.Services.Protocols.SoapHeader { public Certificate() { } /// <summary> /// 使用者名稱 /// </summary> public string UserName { get; set; } /// <summary> /// 密碼 /// </summary> public string PassWord { get; set; } /// <summary> /// 使用者驗證 /// </summary> public void IsVaild() { if (string.IsNullOrEmpty(UserName)) throw new ArgumentNullException("UserName"); if (string.IsNullOrEmpty(PassWord)) throw new ArgumentNullException("Password"); if (UserName != "username") throw new Exception("使用者名稱無效!"); if (PassWord != "password") throw new Exception("使用者密碼無效!"); } }
2、在webservice類中聲明SoapHeader類資訊
public Certificate certificate = new Certificate();
3、在webservice方法中添加驗證屬性
public class Hello : System.Web.Services.WebService { public Certificate certificate = new Certificate(); [System.Web.Services.Protocols.SoapHeader("certificate")] [WebMethod] public string HelloWorld() { certificate.IsVaild(); return "調用成功"; } }