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

zcwry 2018-01-30 原文

解决.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里的任何位置,都不对,关键是winform 里面引用完成接口之后还找不到Reference.cs 文件。

第二种方式:最好是把using 去掉,要不出错都不知道哪里报错了。

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");
               }
           }
       }

  去掉了using之后的测试实例,亲测有用

public string ces(string xml)
        {
            try
            {
                ceshi.RegistryAddRequestImplServiceClient client = new ceshi.RegistryAddRequestImplServiceClient();
                OperationContextScope scope = new OperationContextScope(client.InnerChannel);
                var httpRequestProperty = new HttpRequestMessageProperty();
                httpRequestProperty.Headers["username"] = "py";
                httpRequestProperty.Headers["password"] = "py";
                OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty;
                var cc = client.HIPMessageServer("PatientRegistryAddRequest", xml);
            }
            catch (Exception ec)
            {

            }

            return "";
        }

  

posted on 2018-01-30 08:58 蓉宇-轩 阅读() 评论() 编辑 收藏

 

 
版权声明:本文为zcwry原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zcwry/p/webservice_Header.html

解决.NET WebService引用后添加HTTP Header的问题的更多相关文章

  1. .NET Core 单元测试

      应用程序测试的类型很多,包括集成测试,Web 测试,负载测试等。在最底层的是单元测试,此测试可以测试单个软 […]...

  2. Paypal 支付功能的 C# .NET / JS 实现

    说明 最近用到了 Paypal 支付功能,英语一般般的我也不得不硬着头皮踩一踩这样的坑。经过近乎半个月的作,终 […]...

  3. .Net Core Ocelot API网关

    .Net Core Ocelot API网关 .Net Core Ocelot API网关 vs2017 .n […]...

  4. 【译】.NET Core 3.0 中的新变化

    .NET Core 3.0 是 .NET Core 平台的下一主要版本。本文回顾了 .Net Core 发展历 […]...

  5. ASP.NET Core Middleware

    中间件(Middleware)是ASP.NET Core中的一个重要特性。所谓中间件就是嵌入到应用管道中用于处 […]...

  6. .Net Core 3.0 MVC 中使用 SqlSugar ORM框架

     介绍 SqlSugar 是一款简单易用的ORM ,在国内市场占有率也比较高, 在今年10月份官网改版后  提 […]...

  7. .NET Core 3 WPF MVVM框架 Prism系列之模块化

    本文将介绍如何在.NET Core3环境下使用MVVM框架Prism的应用程序的模块化 前言  我们都知道,为 […]...

  8. .Net Core之仓储(Repository)模式(上)

    我们经常在项目中使用仓储(Repository)模式,来实现解耦数据访问层与业务层。那在.net core使用 […]...

随机推荐

  1. ubuntu windows mutual remote control

    Win10 remote control Ubuntu18 Part1.ubuntu settings 1.安 […]...

  2. 国内各大互联网公司相关技术博客3.0版 (集合腾讯、阿里、百度、搜狐、新浪、网易、360等共29个)

    在2013-07-15 整理了一份国内各大互联网公司相关技术站点2.0版 (集合腾讯、阿里、百度、搜狐、新浪、 […]...

  3. 性能测试知多少—性能测试流程 – 虫师

    性能测试知多少—性能测试流程 2012-08-09 22:31  虫师  阅读(26457)  评 […]...

  4. 如何让图片太大时自动缩小显示? – proving

    如何让图片太大时自动缩小显示? 网页制作,如何让图片太大时自动缩小显示? http://wenda.tiany […]...

  5. Cesium专栏-空间分析之地形等高线(附源码下载)

    Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品。它提供了基于JavaScrip […]...

  6. Docker系列07—Dockerfile详解

    本文收录在容器技术学习系列文章总目录 1、认识Dockerfile 1.1 镜像的生成途径  基于容器制作   […]...

  7. 垃圾回收算法

    v8的内存划分 v8大体分为堆和栈,垃圾回收在堆里进行。 堆内存分多个模块: New space 大多数的对象 […]...

  8. 服装尺寸 – 懒人ABC

    XS是加小码(155)、S是小码(160)、M是中码(165)、L是大码(170)。 女上装”尺码 […]...

展开目录

目录导航