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

  • 相关阅读:
    DIV高度设置全屏
    Yii2使用PHPExcel读取excel
    关于linux centos7 vmware 和windows7 文件共享笔记
    mysql rpm包安装
    linux crontab 计划任务脚本
    linux php5.6 安装
    linux上安装php phpredis扩展
    让微信小程序每次请求的时候不改变session_id的方法
    mysql主从配置
    mysql存储过程之游标遍历数据表
  • 原文地址:https://www.cnblogs.com/bayonetxxx/p/1629729.html
Copyright © 2020-2023  润新知