首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

请问soaphead类保存用户的信息

2013-12-16 
请教soaphead类保存用户的信息/// summary/// 用户身份验证类/// /summarypublic class HeadUserSoapH

请教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


                //或者new HeadUserSoapHeader().username有什么用
                //我前面返回金额的方法都已经传入进去用户和密码了, 我在下面这个发送的方法 为什么不能因为HeadUserSoapHeader().username
                //如上我是new了一个HeadUserSoapHeader把信息存储起来了,
                //疑问 我每次调用的时候都要通过创建对象来拿到这个服务器的值吗 
                
                if (serviceSo.SendSMSContent(new HeadUserSoapHeader(),NumGro, ContextGro, s.Username, s.Password) > 0)
                {
                    MessageBox.Show("发送成功!");
                }
                else
                {
                    MessageBox.Show("发送失败!");
                }
            }
            else
            {
                MessageBox.Show("金额不足,请您充值后方可发送!");
            }

web webservice
[解决办法]
//创建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
                //或者new HeadUserSoapHeader().username有什么用
                //我前面返回金额的方法都已经传入进去用户和密码了, 我在下面这个发送的方法 为什么不能因为HeadUserSoapHeader().username
                //如上我是new了一个HeadUserSoapHeader把信息存储起来了,
                //疑问 我每次调用的时候都要通过创建对象来拿到这个服务器的值吗 
                 
                if (serviceSo.SendSMSContent(new HeadUserSoapHeader(),NumGro, ContextGro, s.Username, s.Password) > 0)
                {
                    MessageBox.Show("发送成功!");
                }


                else
                {
                    MessageBox.Show("发送失败!");
                }
            }
            else
            {
                MessageBox.Show("金额不足,请您充值后方可发送!");
            }




这个难道不是你自己写的?

热点排行