微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

动态调用 WebService

动态调用 WebService

1. 配置 IIS 绑定 IP地址

2. 在 SL 中引用 WebService

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

image

WCF :

 

 


 1

BasicHttpBinding basicBinding = new BasicHttpBinding();
 2


 3

CustomBinding binding 
= new CustomBinding(basicBinding);
 4


 5

BindingElement binaryElement 
= new BinaryMessageEncodingBindingElement(); 
 6


 7

// 删除原来 Elements 集合内的 TextMessageEncodingBindingElement
 8


 9

binding.Elements.Remove(binding.Elements[
0]); 
10


11

// 添加 BinaryMessageEncodingBindingElement
12


13

binding.Elements.Insert(
0, binaryElement);
14


15

// wcf 地址
16


17

EndpointAddress endPoint 
= new EndpointAddress("http:");
//172.168.1.100/DynamicInvokeWCF.Web/DynWCF.svc18


19

// 创建 wcf 客户端
20


21

DynWCFClient client 
= (DynWCFClient)Activator.CreateInstance(typeof(DynWCFClient), binding, endPoint);
22


23

client.DoWorkCompleted 
+= new EventHandler<DoWorkCompletedEventArgs>(client_DoWorkCompleted);
24


25

client.DoWorkAsync();
26


27

 

 

传统 WebService:


 1

BasicHttpBinding basicBinding = new BasicHttpBinding();
 2


 3

CustomBinding binding 
= new CustomBinding(basicBinding);
 4


 5

BindingElement binaryElement 
= new BinaryMessageEncodingBindingElement(); 
 6


 7

EndpointAddress endPoint 
= new EndpointAddress("http:");//172.168.1.100/DynamicInvokeWCF.Web/Asmx.asmx
 8


 9

AsmxSoapClient client 
= (AsmxSoapClient)Activator.CreateInstance(typeof(AsmxSoapClient), endPoint);
10


11

client.HelloWorldCompleted 
+= new EventHandler<HelloWorldCompletedEventArgs>(client_HelloWorldCompleted);
12


13

client.HelloWorldAsync(); 
14


15

 

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐