sliverlight调用wcf服务详解

<p>silverlight中调用wcf服务好好一阵的折腾啊。。。。终于搞定了,做个记录顺便分享一下</p>
<p><span style="font-size: large;"><strong>wcf工程中需要注意的地方:</strong></span></p>
<p><strong>1.新建一个crossdomain.xml文件,内容如下</strong></p>
<p><?xml version="1.0" encoding="utf-8" ?><br><cross-domain-policy><br> <allow-access-from domain="*" /><br> <!-- 意为:允许来自任意域名对本web服务站点的任意跨域访问,如要限制跨域访问站点:可将"*"更改为相应域名,多个域名则为多个<allow-access-from ... />节点 --><br></cross-domain-policy></p>
<p><strong>2.修改web.config文件内容</strong></p>
<p> <endpoint address="" binding="<span style="color: #ff0000;">basicHttpBinding</span>" contract="Demo.Wcf.IService1"><br><endpoint address="mex" binding="<span style="color: #ff0000;">basicHttpBinding</span>" contract="IMetadataExchange"/></p>
<p>因为目前silverlight只支持<span style="color: #ff0000;">basicHttpBinding</span></p>
<p><span style="color: #333300;"><strong><span style="font-size: large;">silverlight工程需要注意的地方:</span></strong></span></p>
<p><span style="color: #333300;"><span style="font-size: small;"><strong></strong></span></span></p>
<p><span style="color: #333300;"><span style="font-size: x-small;">注意其address访问地址</span></span></p>
<p><span style="color: #333300;"><span style="font-size: small;"><span style="font-size: x-small;"></span><span style="font-size: x-small;"> <client><br> <endpoint address="</span><a href="http://localhost:4584/Service1.svc"><span style="font-size: x-small;"><span style="color: #ff0000;">http://localhost:4584/Service1.svc</span></span></a><span style="font-size: x-small;">" binding="basicHttpBinding"<br> bindingConfiguration="BasicHttpBinding_IService1" contract="ServiceReference1.IService1"<br> name="BasicHttpBinding_IService1" /><br> </client></span></span></span></p>
<p><span style="color: #333300;"><span style="font-size: small;"></span></span></p>
<p>实现代码如下:</p>
<p><textarea cols="78" rows="15" name="code" class="c-sharp"> 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";
}
}</textarea></p>
<p></p>
<p><br></p>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值