美文网首页.NETAmazing .NET
Asp.net Core 调用Web Service

Asp.net Core 调用Web Service

作者: Tommy1989 | 来源:发表于2018-03-17 10:24 被阅读0次

    1.引言

    .net core 使用自动生成的代理类调用soap 协议的WebService的方式。

    2.问题描述

    在core中如何调用Web Service

    3.解决方案

    1. 使用Svcutil.exe生成代理类。命令如下:

    Svcutil.exe /out: 磁盘目录 Url

    2.用call WCF的方法调用Web Service,代码如下:

     var binding = new BasicHttpBinding();
     var endpoint = new EndpointAddress(url);
     var channelFactory = new ChannelFactory<IngrianServiceSoap>(binding, endpoint);
     var serviceClient = channelFactory.CreateChannel();
    

    至此Call Web Service 方式完成。

    4.增加自定义header

    自定义header有两种方式:

    using (new OperationContextScope((IContextChannel)serviceClient))
    {
      var requestProp = new HttpRequestMessageProperty();
      OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = requestProp;
      requestProp.Headers["HeaderName"] = "header value"
      return serviceClient.DoSomething(request);
    }
    

    使用behavior方式:

    serviceClient.Endpoint.EndpointBehaviors.Add(new ProxyBehavior());
    

    其中ProxyBehavior为我们自己添加的类,在里面抓取HttpRequestMessage,即可增加自定义header。

    相关文章

      网友评论

        本文标题:Asp.net Core 调用Web Service

        本文链接:https://www.haomeiwen.com/subject/hfgdqftx.html