博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决.NET WebService引用后添加HTTP Header的问题
阅读量:5245 次
发布时间:2019-06-14

本文共 1394 字,大约阅读时间需要 4 分钟。

麻蛋,搜索了好久,找到的都是对soap header的操作,不是对WebService的HTTP Header的操作,这是两种不同的概念,平常我们发起的WebService请求走的都是http通信协议,POST方式的请求,请求体是发送对象的SOAP结构。算了直接上答案。只不过还是英语不好

http://stackoverflow.com/questions/897782/how-to-add-custom-http-header-for-c-sharp-web-service-client-consuming-axis-1-4

上面是源地址,貌似有两种方法,一种是排名第一的

添加一下代码:

protected override System.Net.WebRequest GetWebRequest(Uri uri){  System.Net.WebRequest request = base.GetWebRequest(uri);  request.Headers.Add("myheader", "myheader_value");  return request;}

  老外真是,愣是不提供完整的demo,费了半天劲,实在找不到该插入那个地方啊,有木有,试遍了自动生成的Reference.cs里的任何位置,都不对,哪位大神指导的,还请指导一下。

第二种:

static void Main(string[] args)        {            //wsAuth:就是自动生成的WebService服务            using (wsAuth.WsAuthenticationClient client = new wsAuth.WsAuthenticationClient())            {                using (OperationContextScope scope = new OperationContextScope(client.InnerChannel))                {                    var httpRequestProperty = new HttpRequestMessageProperty();                    httpRequestProperty.Headers["ws-lala"] = "111";                    httpRequestProperty.Headers["ws-lala11"] = "222";                    OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty;                    var cc = client.login("tlzzu", "123456");                }            }        }

  亲测,第二种可用。

转载于:https://www.cnblogs.com/tlzzu/p/5819918.html

你可能感兴趣的文章
vue项目中使用百度统计
查看>>
android:scaleType属性
查看>>
SuperEPC
查看>>
CentOS7安装iptables防火墙
查看>>
mysql-5.7 innodb 的并行任务调度详解
查看>>
shell脚本
查看>>
Upload Image to .NET Core 2.1 API
查看>>
Js时间处理
查看>>
Java项目xml相关配置
查看>>
三维变换概述
查看>>
第三次作业
查看>>
vue route 跳转
查看>>
【雷电】源代码分析(二)-- 进入游戏攻击
查看>>
Entityframework:“System.Data.Entity.Internal.AppConfig”的类型初始值设定项引发异常。...
查看>>
Ubuntu 安装之python开发
查看>>
恶心的struts标签,等我毕业设计弄完了,瞧我怎么收拾你。
查看>>
Linux中防火墙centos
查看>>
hudson+apachecontinuum+ant
查看>>
mysql新建用户,用户授权,删除用户,修改密码
查看>>
实验五 TCP传输及加密
查看>>