当前位置: 代码迷 >> Web Service >> 请问soaphead类保存用户的信息
  详细解决方案

请问soaphead类保存用户的信息

热度:407   发布时间:2013-12-16 23:49:16.0
请教soaphead类保存用户的信息
/// <summary>
    /// 用户身份验证类
    /// </summary>
    public class HeadUserSoapHeader : SoapHeader
    {
        private string m_username;
        /// <summary>
        /// 用户名
        /// </summary>
        /// 
        public string Username
        {
            get { return m_username; }
            set { m_username = value; }
        }
        /// <summary>
        /// 密码
        /// </summary>
        private string m_password;

        public string Password
        {
            get { return m_password; }
            set { m_password = value; }
        }
    }

我创建webservice方法的时候

  /// <summary>
        /// 根据用户得到当前所剩短信
        /// </summary>
        /// <returns></returns>
        [WebMethod,SoapHeader("Headeruser")]
        public int ResultBalance(string username,string password)
        {
            SMSLib.ServiceCentrality bll = new SMSLib.ServiceCentrality();
            return bll.GetBalance(username,password);
        }
        #endregion
        /// <summary>
        /// 发送短信返回成功条数
        /// </summary>
        /// <param name="NumGroup">号码组</param>
        /// <param name="SmsContent">发送内容</param>
        /// <param name="username">用户名</param>
        /// <param name="password">密码</param>
        /// <returns></returns>
        [WebMethod, SoapHeader("Headeruser")]
        public int SendSMSContent(string NumGroup, string SmsContent, string username, string password)
        {
            SMSLib.ServiceCentrality bll = new SMSLib.ServiceCentrality();
            return bll.SendSMSContent(NumGroup, SmsContent, Headeruser.Username, Headeruser.Password);
        }
    }
        

//创建webservice对象
            SServiceSoapClient serviceSo = new SServiceSoapClient();
            HeadUserSoapHeader s = new HeadUserSoapHeader();
            s.Username = dt.Rows[0][0].ToString();
            s.Password = dt.Rows[0][1].ToString();
            //dt.Rows[0][0].ToString()是获得用户名
            //调用此方法的时候我返回一个金额,
            int resultBalance = serviceSo.ResultBalance(new HeadUserSoapHeader(), dt.Rows[0][0].ToString(), dt.Rows[0][1].ToString());
            if (resultBalance > Amount)
            {
                //描述  我本地是sqlce 返回webservice 跟sqlservice进行交互
                //疑问  为什么我webservice是4个参数 这边要必须传入一个new HeadUserSoapHeader
  相关解决方案