• wcf第4步之原生调用简单封装


     public interface IDemoServiceChannel :  IDemoService, System.ServiceModel.IClientChannel {
        }
        
     
       
        public partial class DemoServiceClient : System.ServiceModel.ClientBase<IDemoService>, IDemoService {
            
            public DemoServiceClient() {
            }
            
            public DemoServiceClient(string endpointConfigurationName) : 
                    base(endpointConfigurationName) {
            }
            
            public DemoServiceClient(string endpointConfigurationName, string remoteAddress) : 
                    base(endpointConfigurationName, remoteAddress) {
            }
            
            public DemoServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                    base(endpointConfigurationName, remoteAddress) {
            }
            
            public DemoServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                    base(binding, remoteAddress) {
            }
            
            public SomeResp DoSomething(SomeReq request) {
                return base.Channel.DoSomething(request);
            }
        }

    配置文件添加

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
    
      <system.serviceModel>
        <bindings>
          <basicHttpBinding>
            <binding name="BasicHttpBinding_IDemoService" sendTimeout="00:05:00" />
          </basicHttpBinding>
        </bindings>
        <client>
          <endpoint address="http://dev.xxx.io/Demo/DemoService.svc"
              binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IDemoService"
              contract="RestClientTest.IDemoService" name="BasicHttpBinding_IDemoService" />
        </client>
      </system.serviceModel>
    </configuration>

    调用代码更加简单

    IDemoService demoService = new DemoServiceClient();
                var r1 = demoService.DoSomething(new SomeReq() { Date = DateTime.Now, DateUTC = DateTimeOffset.Now });
                Console.WriteLine(r1.ResultDate);
                Console.Read();
  • 相关阅读:
    JSOI2010 满汉全席
    LNOI2014 LCA
    BZOJ3689 异或之
    Codeforces Round #553 div.2
    AHOI2013 差异
    SDOI2016 生成魔咒
    NOI2006 最大获利
    没有过的题QAQ
    NOI2014 动物园
    HDU4622 Reincarnation
  • 原文地址:https://www.cnblogs.com/zhshlimi/p/5996226.html
Copyright © 2020-2023  润新知