解决.NET WebService引用后添加HTTP Header的问题

麻蛋,搜索了好久,找到的都是对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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值