WCF RIA Services使用DomainService提供数据访问等服务,如果在Silverlight中使用,只要设置了WCF RIA连接,就能自动生成数据访问的客户端代理类,这为我们开发提供了方便。

我们通常是建立一个Silverlight Bussiness Application的项目,其中包含一个Silverlight项目作为客户端,一个Web结尾的项目承载我们的Domain Service服务。

刚开始我还受用这种模式,数据访问那么的自然,没有多余的WCF请求代码。然而当我做第二个应用程序时,遇到了麻烦,我该如何重用第一个应用程序中已经写好的Domain Service呢?我首先想到了把我的SL连接到上一个Web项目,然而一个SL应用只能连接一个Web项目,我不想把所有代码都放在一个应用程序下面,并且如果我要连接的web项目不是我开发的,我又该怎么连接?然后,我想到了添加服务引用,就像WCF服务一样,然而Domain Service总是不被其他SL项目发现,需要配置web.config将Endpoints暴露出来,并且这样等于放弃了WCF RIA Services的优势。

最后,终于找到了解决方法:使用WCF RIA Service类库。然而类库并不能独立发布,必须在Web项目中承载后,才能供我们访问,这样我们的解决方案的结构应该是:

其中ShareRIAServices开头的俩项目是WCF RIA Service类库项目,一个用于供silverlight项目引用,一个供Web项目引用。

FistSilverlight.Web项目承载DomainSerive服务ShareRIAServices.Web,提供访问。

AnotherSLApp引用ShareRIAServices,其中包含了自动生成的客户端Proxy代码。并且包含在另一个应用AnotherWeb中.

由于URL路径不同,我们Context类需要指定DomainService的URL地址:

 const string ServicePath = "http://localhost:52878/ShareRIAServices-Web-ShareDomainService.svc"; ShareRIAServices.Web.ShareDomainContext sc = new ShareDomainContext(new Uri(ServicePath));

服务的命名是名称空间+类名.svc,其中用“-”连接。

这样任何需要使用ShareRIAServices.Web中的DomainService服务的SL应用程序,只需要引用ShareRIAServices即可,如果是别人开发的,只需要引用ShareRIAServices.dll就行。

提供Silverlight打印全套解决方案及全部源代码--支持打印预览、页面设置(横向纵向,页边距,纸张大小、字体大小)、自动分页和多页连续打印

转载于:https://www.cnblogs.com/slmk/archive/2011/11/14/2248661.html

多个Silverlight应用程序如何共享一个DomainService相关推荐

  1. Silverlight学习笔记(三):创建第一个Silverlight应用程序

    在开始创建程序之前,还是要提一下关于Silverlight开发环境搭建的问题.如果使用VS2010,这可以搭建Silverlight4的开发环境.我推荐大家看这篇由大牛jv9撰写的[轻松建立Silve ...

  2. 微信小程序环境共享,多个小程序共享一个云开发数据库

    我们在做小程序开发时,有时候需要多个小程序公用一个数据库,比如我们做一个外卖小程序,要配套一个骑手小程序,这个时候就要两个小程序公用一个云开发环境,公用一个数据库了.所以今天来教下大家如何多个小程序共 ...

  3. 多个网站共享一个mysql数据库_如何在多个Postgresql数据库之间共享表

    是的,模式是解决方案.使用单个Postgresql集群,使用单个数据库. 为所有应用用户创建一个组: CREATE ROLE app; 创建全局"应用程序"模式,其中所有全局共享应 ...

  4. 一起谈.NET技术,保护您的 Silverlight 应用程序的安全

    作为一名 Microsoft 服务顾问,我定期与客户和合作伙伴一起进行应用程序安全性讨论. 在本文中,我将介绍一些在这些讨论中提出的主题. 特别是,我将重点介绍编程人员在尝试保护 Silverligh ...

  5. php linux fork进程 多个进程/线程共享一个 socket连接 出现多个进程响应串联

    简单说来就是:因为fork,父子进程共享了一个redis连接.然后父子进程在发送了各自的redis请求分别获取到了对方的响应体. 复现示例代码: testFork.php <?php requi ...

  6. php+我的第一个程序,2. 第一个 C 程序

    首先请看下面这个简单的 C 程序,猜猜它会做些什么.猜不出来也没关系,后面会有详细的解说. #include int main( void )            /* 一个简单的程序 */     ...

  7. 一步一步学Silverlight 2系列(34):使用Silverlight Streaming托管Silverlight应用程序_转载...

    概述 Silverlight Steaming 是微软 Live 平台中的免费发布视频以及托管 Silverlight 应用的产品.今年 MIX08 大会上微软发布了 Silverlight Stre ...

  8. Silverlight 应用程序之间在客户端通信

    运行在同一台电脑上的多个 Silverlight 应用程序可以通过本地消息进行通信,通信是在客户端进行的,不需要与服务端交互.使用这一功能可以使在同一页面承载的多个 Silverlight 应用程序之 ...

  9. Linux是不是共享软件,linux – 是否有可能在应用程序之间共享Cuda上下文?

    我想在两个独立的Linux进程之间传递Cuda上下文(使用POSIX消息队列,我已经设置了它). 使用cuCtxPopCurrent()和cuCtxPushCurrent(),我可以得到上下文指针,但 ...

最新文章

  1. fiash星空动画制作_三维动画制作的详细流程
  2. python3安装pip3-python3安装pip3的实例步骤
  3. redis module模块简单使用
  4. 中继器、集线器、网桥、网关产品介绍
  5. Win11没有操作中心怎么办 Win11没有操作中心的解决方法
  6. 强化学习新方法,让后空翻回旋踢再也难不倒机器人 | 伯克利论文
  7. 互联网系统架构的演进
  8. db设计专用excel_电磁兼容(EMC):工程师必备之硬件EMC设计规范
  9. Dom4j完整教程,操作XML教程
  10. Linux使用lrzsz快速上传和下载
  11. 计算机编程必备英语单词,编程序常用英语单词
  12. Unity3d-模型描边和混色Shader
  13. 现在有哪些好用的程序员学习交流的网站或者app?
  14. 如何在ionic官网打包自己的App
  15. DZS与EPS Global合作,加速下一代接入基础设施在欧洲和亚洲的应用
  16. NGS 测序深度和覆盖度—Depth、Coverage
  17. 【无标题】Win10鼠标单击右键点击“显示设置”,“个性化”弹出该文件没有与之关联的程序来执行该操作。
  18. 【Python】列表解析式
  19. 虚幻引擎图文笔记:使用布料模拟(Cloth Simulation)系统制作一面可以随风飘动的旗帜(更新)
  20. python 大智慧接口_大智慧股票本地数据读取接口(含源码)

热门文章

  1. 使用Spring操作Redis的key-value数据
  2. checkbox的全选中,取消全选中
  3. 你也可以设计简单的内容管理系统
  4. 手机上 a 标签妙用
  5. [转]《我眼中的技术高手》——邯郸学步、创作与创新
  6. drupal7获取当前路径别名
  7. 利用jdom生成XML文件
  8. 转贴: OpenGL开发库的组成
  9. iOS原生定位和反编码
  10. MySQL/MariaDB基础及简单SQL语句