在Silverlight 4应用程序中,我们可以在客户端调用本网站的WebService ,这是没有限制的,正如我们上面例子所示。那么,我们该如何配置我们的WebService并使其能被其它域名的访问者正确调用?为达到这样的目的,我们可以在网站的根目录下创建一个名为clientaccesspolicy.xml的文件,这个文件表明哪些域可以允许访问你的Webservice,下面我们看看下面的例子:
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from>
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
当你向上面一样配置文件时,第三方的Silverlight应用程序就可以访问你的WebService。相反,你可以限制几个域的Silverlight访问你的WebService,如下面的例子,只有 www.somecompany.com 和 www.someothercompany.com域名承载的Silverlight可以访问你的WebService。
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="http://www.somecompany.com" />
<domain uri="http://www.someothercompany.com" />
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
当然,这里你可以使用通配符来拓展功能,例如*.somecompany.com允许mail.somecompany.com或sail.somecompany.com访问。进一步发现,如果我们把要对外公布的Service都放到一个service文件夹中,此时我们就只允许跨域用户访问这个文件夹中的Service,设置代码如下:
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from>
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/services/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
相关推荐
自托管Silverlight4的WCF跨域服务
众所周知sl调和网络通信必须要进行跨域验证。这一直以来是很多sl初学者很头痛的问题,解决方案和应用场境也各有不同。今天内cool超人给大家分享一种特别的应用场境。 需求:开发一个给sl调用的服务,使用wcf.tcp绑定,而且客户端使用的是silverlight4 RTM,而这个服务器一个自宿主console应用程序。 问题: 1.跨域服务也必须在宿主的console程序中运行。 2.与逻辑wcf服务相互兼容。 解决方法: a)首先我们要了解。这从silverlight4RTM发布后,对wcf.t
Silverlight如何调用淘宝API
淘宝开放平台TOP并没有提供SL版本的SDK,其实是没有必要,也是不可能的。其原因有二:1、Siverlight默认不允许跨域访问,需要在被访问网站下面放置策略文件,Taobao不可能为我们放置一个策略文件的。2、你的taobao应用程序的appkey,appsecret,甚至是sessionkey都暴露在Silverlight前端了,这也太傻了吧!存在很大的安全隐患!SL直接调用Tao...
vs2013中新建域服务类的总结
背景:前段时间使用vs2010+silverlight5
在程序代码中集成跨域服务文件
由于silverlight跨域文件在很多分布式应用开发中非常常用,其中一些简单的应用中并不须要在程序发布后让用户来动态配置跨域的xml文件,这样程序目录中又要多出一个xml的跨域文件这样显得没什么必要而且增加了发布的复杂性,所以我通过如下方法实现了在程序中直接让跨域文件集成在代码中。 我在启动跨域服务的同时,把跨域文件的定义也集成到代码中了。你也可以通过一些自定义的程序功能去动态地成生跨域文件的...
Silverlight与WCF通信(四) :Silverlight访问控制台宿主WCF(非svc方式)
转载出处:http://www.cnblogs.com/lxblog/archive/2012/08/02/2620393.html 今日更新本系列最后一篇,Silverlight访问控制台宿主WCF,我们分别介绍tcp信道和http信道两种方式。无论用IIS宿主还是控制台等程序宿主,对于WCF服务代码没有任何区别,但由于是Silverlight来进行调用,就会面临一个跨
WCF 跨域TCP绑定
Silverlight4在跨域访问TCP时会读取Http 80端口的跨域策略文件,可以放IIS上,也可以在服务控制台托管Http服务 例子是控制台托管TCP服务和Http跨域策略文件服务 配置文件: contract="ConsoleApplication1.IDuxpexServi
[转载]Step By Step - Using Silverlight to Access a WCF Service Hosted In a Console Application
From:http://www.dotnetcurry.com/ShowArticle.aspx?ID=208 Note: This article is written based on a pre-release version of Silverlight and could change in future. In Silverlight, we often come acro...
解决在Silverlight中调用WCF控制台程序宿主时跨域问题
关键代码及步骤: 1 首先在WCF类库服务中添加System.ServiceModel.Web引用(引用System.ServiceModel.Web时必须把类库设FrameWork 4) 2 定义接口IDomainService(名字可以随便,但后面必须跟配置文件保持一致) 代码如下: [ServiceContract]
使用Entity Framework和WCF Ria Services开发SilverLight之7:多个Domain Service间共享Poco实体
在前两篇中,我们讲了在SL端通过Entity Framework和WCF Ria Services实现联表查询,其中最关键的是为实体类中的相关属性设定为Include特性,如下: 遗憾的是,这样的实体Include只能在单个域服务间共享实体。如果你尝试撰写多个域服务,并用到关联实体,会报如下错误: The entity type 'MiniNWModel.Entities.Product'
Silverlight使用RIA服务
1、 建立一个Silverlight应用程序,勾选启用WCF 2、 右键点击“Silverlight添加服务引用.Web”添加ADO.NET实体数据模型(添加完成后重新生成一下) 3、 右键单击“Silverlight添加服务引用.Web”添加域服务,勾选数据库名 4、 在后台当中引用 using System.ServiceModel.DomainServices.Cli
silverlight 网络通信 免费组件 开源组件
DY SmartNet能让软件开发人员快速开发基于Silverlight4\5的网络通信软件的项目.它使用WCF.TCP为通信基础,可以快速开发网络游戏,网络即时通信系统. 项目地址:http://smartnet.codeplex.com 项目优势: 1.基于silverlight开发的各种网络游戏或网络应用高性能通信 2.集成跨域服务 使用注意事项: 关于服务端使...
使用Entity Framework和WCF Ria Services开发SilverLight之7:多个Domain Service间共享Poco实体...
在前两篇中,我们讲了在SL端通过Entity Framework和WCF Ria Services实现联表查询,其中最关键的是为实体类中的相关属性设定为Include特性,如下: 遗憾的是,这样的实体Include只能在单个域服务间共享实体。如果你尝试撰写多个域服务,并用到关联实体,会报如下错误: The entity type 'MiniN...
Silverlight 3 RIA服务编程中使用自定义方法及服务操作
第1页:创建Silverlight 3示例工程第2页:LINQ to SQL数据模型的添加和域服务第3页:Silverlight用户界面及基本后台代码编程第4页:编写应用程序逻辑 第5页:普通服务的操作和声明第6页:运行结果第7页:有关域的重要补充第8页:全文小结 展开全部 文本Tag: Visual Studio 微软 web开发 RIA Silverlight ...
WCF RIA 服务 (二十五)-- Silverlight 客户端 6
演练:检索和显示来自域服务的数据想要在Silverlight应用程序中检索数据,我们调用域上下文中的方法,这些方法对应着域服务中我们想要使用的查询方法。例如,在域服务中有个名为GetProducts的方法,那么在与上下文中有个名为GetProductsQuery的方法。在SL应用程序中,我们调用GetProdu
769




被折叠的 条评论
为什么被折叠?



