1. 配置 IIS 绑定 IP地址

2. 在 SL 中引用 WebService

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

Silverlight 动态调用 WebService

WCF :

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

传统 WebService:

Silverlight 动态调用 WebServiceSilverlight 动态调用 WebServiceWebService
1Silverlight 动态调用 WebServiceBasicHttpBinding basicBinding = new BasicHttpBinding();
2Silverlight 动态调用 WebService
3Silverlight 动态调用 WebServiceCustomBinding binding = new CustomBinding(basicBinding);
4Silverlight 动态调用 WebService
5Silverlight 动态调用 WebServiceBindingElement binaryElement = new BinaryMessageEncodingBindingElement();
6Silverlight 动态调用 WebService
7Silverlight 动态调用 WebServiceEndpointAddress endPoint = new EndpointAddress("http://172.168.1.100/DynamicInvokeWCF.Web/Asmx.asmx");
8Silverlight 动态调用 WebService
9Silverlight 动态调用 WebServiceAsmxSoapClient client = (AsmxSoapClient)Activator.CreateInstance(typeof(AsmxSoapClient), binding, endPoint);
10Silverlight 动态调用 WebService
11Silverlight 动态调用 WebServiceclient.HelloWorldCompleted += new EventHandler<HelloWorldCompletedEventArgs>(client_HelloWorldCompleted);
12Silverlight 动态调用 WebService
13Silverlight 动态调用 WebServiceclient.HelloWorldAsync();
14Silverlight 动态调用 WebService
15Silverlight 动态调用 WebService

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

相关文章:

  • 2022-02-16
  • 2022-12-23
  • 2022-12-23
  • 2021-10-28
  • 2021-11-19
  • 2021-05-18
猜你喜欢
  • 2021-06-03
  • 2022-02-26
  • 2021-07-16
相关资源
相似解决方案