在Silverlight应用程序之间共享WCF RIA服务库

时间:2011-06-30 06:22:41

标签: silverlight wcf wcf-ria-services

我有: - 托管在不同IIS虚拟目录上的一些Silverlight Web应用程序。 一个应用程序具有WCF RIA服务,这是我想在所有这些SL应用程序之间共享的部分功能 这该怎么做? 我有创建WCF RIA服务库的想法,该服务库引用了WCF RIA Services主机并且具有客户端所需的功能。但是,如果我将从我的不同解决方案创建对此DLL的引用,这个DLL(WCF RIA服务库)如何知道,该WCF主机的地址(端点)在哪里?

例如,WCF RIA托管在http:\ webapps \ UserManager上 和SL aplpication托管在http:\ webapps \ ClientApp

1 个答案:

答案 0 :(得分:2)

没有勺子......默认情况下没有完全合格的端点和RIA服务......

当您将.web RIA类库项目链接到主Web项目时,可以通过以下URL访问服务:

http://localhost:2911/ClientBin/RiaServices-Documents-Web-DocumentDomainService.svc/binary/GetDocuments?$take=20&$includeTotalCount=True

客户端RIA类库项目只假设一个相对URL(相对于托管项目),因此它们可以在任何Silverlight应用程序中使用。

要从托管网站以外的其他位置使用RIA服务,您需要在DomainContext构造函数中手动指定服务端点:

DocumentDomainContext d = new DocumentDomainContext("http:someotherserver:1234//ClientBin/RiaServices-Documents-Web-DocumentDomainService.svc");

(我不知道如何为域数据源执行此操作)。