zoukankan      html  css  js  c++  java
  • Silverlight 动态调用 WebService

    1. 配置 IIS 绑定 IP地址

    2. 在 SL 中引用 WebService

    3. 在需要调用 WebService 的地方写下列代码:

    image

    WCF :

    WCF
    1BasicHttpBinding basicBinding = new BasicHttpBinding();
    2
    3CustomBinding binding = new CustomBinding(basicBinding);
    4
    5BindingElement binaryElement = new BinaryMessageEncodingBindingElement();
    6
    7// 删除原来 Elements 集合内的 TextMessageEncodingBindingElement
    8
    9binding.Elements.Remove(binding.Elements[0]);
    10
    11// 添加 BinaryMessageEncodingBindingElement
    12
    13binding.Elements.Insert(0, binaryElement);
    14
    15// wcf 地址
    16
    17EndpointAddress endPoint = new EndpointAddress("http://172.168.1.100/DynamicInvokeWCF.Web/DynWCF.svc");
    18
    19// 创建 wcf 客户端
    20
    21DynWCFClient client = (DynWCFClient)Activator.CreateInstance(typeof(DynWCFClient), binding, endPoint);
    22
    23client.DoWorkCompleted += new EventHandler<DoWorkCompletedEventArgs>(client_DoWorkCompleted);
    24
    25client.DoWorkAsync();
    26
    27

    传统 WebService:

    WebService
    1BasicHttpBinding basicBinding = new BasicHttpBinding();
    2
    3CustomBinding binding = new CustomBinding(basicBinding);
    4
    5BindingElement binaryElement = new BinaryMessageEncodingBindingElement();
    6
    7EndpointAddress endPoint = new EndpointAddress("http://172.168.1.100/DynamicInvokeWCF.Web/Asmx.asmx");
    8
    9AsmxSoapClient client = (AsmxSoapClient)Activator.CreateInstance(typeof(AsmxSoapClient), binding, endPoint);
    10
    11client.HelloWorldCompleted += new EventHandler<HelloWorldCompletedEventArgs>(client_HelloWorldCompleted);
    12
    13client.HelloWorldAsync();
    14
    15

    这样就可以动态的调用 webservice 了. 完全不需要 ServiceReferences.ClientConfig 文件了.

  • 相关阅读:
    Codeforces 1149 B
    Tenka1 Programmer Contest 2019 D
    BZOJ 1001 [BeiJing2006]狼抓兔子
    Codeforces 741 D
    HDU 5306 Gorgeous Sequence
    HDU 6521 Party
    Codeforces 912A/B
    Educational Codeforces Round 35 B/C/D
    Codeforces 902D/901B
    Codeforces 902B
  • 原文地址:https://www.cnblogs.com/dotfun/p/2136991.html
Copyright © 2011-2022 走看看