Silverlight 动态调用 WebService
1. 配置 IIS 綁定 IP地址
2. 在 SL 中引用 WebService
3. 在需要調用 WebService 的地方寫下列代碼:
WCF :
WCF?
BasicHttpBinding basicBinding = new BasicHttpBinding();?
?
CustomBinding binding = new CustomBinding(basicBinding);?
?
BindingElement binaryElement = new BinaryMessageEncodingBindingElement();?
?
// 刪除原來 Elements 集合內的 TextMessageEncodingBindingElement?
binding.Elements.Remove(binding.Elements[0]);?
?
// 添加 BinaryMessageEncodingBindingElement?
?
binding.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?
DynWCFClient client = (DynWCFClient)Activator.CreateInstance(typeof(DynWCFClient), binding, endPoint);?
?
client.DoWorkCompleted += new EventHandler<DoWorkCompletedEventArgs>(client_DoWorkCompleted);?
?
client.DoWorkAsync();?
?
傳統 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 文件了.
轉載于:https://www.cnblogs.com/Areas/archive/2011/08/25/2153156.html
總結
以上是生活随笔為你收集整理的Silverlight 动态调用 WebService的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动态加载js文件以支持跨域脚本
- 下一篇: [USACO] Beef McNugge