zoukankan      html  css  js  c++  java
  • SoapHeader

    一 自定义SoapHeader类

    public class MyHeader :SoapHeader
    {
        public MyHeader() { }
        private string _token = "";
        public string Token
        {
            get { return _token; }
            set { _token = value; }
        }
    }

    注意一定要继承SoapHeader

    二 编写Webservice

    [WebService(Namespace = "http://www.liuwu.net/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class WebService : System.Web.Services.WebService
    {
        public MyHeader header;
           [WebMethod]
        [SoapHeader("header")]
        public bool IsRightUser()
        {
            return CheckToken();
        }
        /// <summary>
        /// 验证令牌
        /// </summary>
        /// <remarks>
        ///此处仅供演示,根据实际情况可添加更加复杂的验证过程
        ///</remarks>
        /// <returns></returns>
        private bool CheckToken()
        {
            if (header != null && header.Token == "123")
            {
                return true;
            }
            return false;
        }
    }

    我们声明了MyHeader类的实例header,并且在IsRightUser函数中增加了SoapHeader属性,指明使用header来保存他的值。

    三 客户端调用

    新建winform应用程序,并添加web引用,引用名为:SoapHeaderTest,具体调用方法如下

    SoapHeaderTest.MyHeader header =  new SoapHeaderTest.MyHeader();
    header.Token = "123";
    SoapHeaderTest.WebService ws =  new SoapHeaderTest.WebService();
    ws.MyHeaderValue = header;
    bool b = ws.IsRightUser();

    注意必须给ws的MyHeaderValue赋值

  • 相关阅读:
    我心飞翔
    又见草堂
    有一种爱只能用心去珍藏《转贴》
    人事管理制度(爆笑)
    廊桥放歌
    记住: 惰性,职业生涯的无形杀手
    职场“三无人员”如何突破自己
    升职“流产”,都是谦虚惹的祸(转)
    李嘉诚让员工忠诚的简单办法
    尤未尽意
  • 原文地址:https://www.cnblogs.com/bayonetxxx/p/1629729.html
Copyright © 2011-2022 走看看