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赋值

  • 相关阅读:
    Disruptor-NET和内存栅栏
    SSDB:高性能数据库服务器
    PostgreSQL配置优化
    ADO.NET的弹性连接控制[ADO.NET idle connection resiliency]
    2013年度IT博客大赛跻身10强
    MongoDB 聚合管道(Aggregation Pipeline)
    验证码类库CaptchaMvc
    AngularJS SPA Template For Visual Studio
    .NET 4.0 版本号
    利用SSH Filesystem实现远程文件系统
  • 原文地址:https://www.cnblogs.com/bayonetxxx/p/1629729.html
Copyright © 2011-2022 走看看