sliverlight调用wcf服务详解
2009-02-28 16:35
495 查看
silverlight中调用wcf服务好好一阵的折腾啊。。。。终于搞定了,做个记录顺便分享一下
wcf工程中需要注意的地方:
1.新建一个crossdomain.xml文件,内容如下
<?xml version="1.0" encoding="utf-8" ?>
<cross-domain-policy>
<allow-access-from domain="*" />
<!-- 意为:允许来自任意域名对本web服务站点的任意跨域访问,如要限制跨域访问站点:可将"*"更改为相应域名,多个域名则为多个<allow-access-from ... />节点 -->
</cross-domain-policy>
2.修改web.config文件内容
<endpoint address="" binding="basicHttpBinding" contract="Demo.Wcf.IService1">
<endpoint address="mex" binding="basicHttpBinding" contract="IMetadataExchange"/>
因为目前silverlight只支持basicHttpBinding
silverlight工程需要注意的地方:
注意其address访问地址
<client>
<endpoint address="http://localhost:4584/Service1.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IService1" contract="ServiceReference1.IService1"
name="BasicHttpBinding_IService1" />
</client>
实现代码如下:
wcf工程中需要注意的地方:
1.新建一个crossdomain.xml文件,内容如下
<?xml version="1.0" encoding="utf-8" ?>
<cross-domain-policy>
<allow-access-from domain="*" />
<!-- 意为:允许来自任意域名对本web服务站点的任意跨域访问,如要限制跨域访问站点:可将"*"更改为相应域名,多个域名则为多个<allow-access-from ... />节点 -->
</cross-domain-policy>
2.修改web.config文件内容
<endpoint address="" binding="basicHttpBinding" contract="Demo.Wcf.IService1">
<endpoint address="mex" binding="basicHttpBinding" contract="IMetadataExchange"/>
因为目前silverlight只支持basicHttpBinding
silverlight工程需要注意的地方:
注意其address访问地址
<client>
<endpoint address="http://localhost:4584/Service1.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IService1" contract="ServiceReference1.IService1"
name="BasicHttpBinding_IService1" />
</client>
实现代码如下:
private void Button_Click(object sender, RoutedEventArgs e) { ServiceReference1.Service1Client client = new Demo.Slapp.ServiceReference1.Service1Client(); client.GetDataAsync(9); client.GetDataCompleted += new EventHandler<Demo.Slapp.ServiceReference1.GetDataCompletedEventArgs>(client_GetDataCompleted); client.CloseCompleted += new EventHandler<System.ComponentModel.AsyncCompletedEventArgs>(client_CloseCompleted); } void client_GetDataCompleted(object sender, Demo.Slapp.ServiceReference1.GetDataCompletedEventArgs e) { if (e.Error == null) { this.btnDemo.Content = e.Result; } else { this.btnDemo.Content = "eror"; } }
相关文章推荐
- 详解跨平台iPhone中调用WCF服务(soap通信)
- 详解JAVA调用WCF服务的示例代码
- Silverlight里动态调用WCF服务
- 一步一个脚印学习WCF系列之WCF概要—WCF服务的创建与调用HelloWorld实例,通过编码方式(四)
- python调用wcf服务 实现网站对客户端的调用
- 一个通过JSONP跨域调用WCF REST服务的例子(以jQuery为例)
- 在WCF中调用Server.MapPath 获取服务发布目录路径
- 用WCF开发的服务给Java的客户端调用
- 一个Android客户端,调用WCF服务获取数据
- 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)
- Silverlight同步(Synchronous)调用WCF服务
- Silverlight同步(Synchronous)调用WCF服务
- VS2010中使用Jquery调用Wcf服务读取数据库记录
- .net通过WCF调用java发布的服务,获取数据
- wcf异步服务调用参考地址
- WCF调用--添加服务引用时找不到服务的解决办法
- Service跨进程调用服务三部曲之AIDL详解(一)
- Service跨进程调用服务三部曲之AIDL详解(三)
- 学习之路十四:客户端调用WCF服务的几种方法小议
- 调用WCF服务后需及时关闭