关于利用WCF RIA Service进行通信并在客户端获取数据

2023-10-28 06:08

本文主要是介绍关于利用WCF RIA Service进行通信并在客户端获取数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在实现客户端Silverlight程序与服务器端通信获取数据的时候使用Silverlight 4.0的WCF RIA Service服务是最方便的,可以非常迅速地配置好服务器端然后使用如下方法就可以在客户端Silverlight程序获取相应的数据:(操作的数据库表为User,它服务器端对应的Domain Service Class文件为UserDomainService)

 

现在来讲解为什么需要LoadOperation和EntityQuery这些操作,而不是直接定义UserDomainContext的实例就能通过context.Users直接获取数据:

1、直接定义UserDomainContext的实例context,然后通过或者context.Users、context.EntityContainer.GetEntitySet<User>()等等方法来直接获取数据集,这样是获取不到任何的数据的,即该数据集的Count为0,必须通过context.Load<User>(query)才能够将数据加载到UserDomainContext上下文中,即这样做才能够通过context.Users、load.Entities等方法获取数据集。

2、为什么需要EntityQuery?

context.GetUserQuery()返回的是一个可查询的数据集即EntityQuery<User>,而这个可查询的数据集中定义了LoadOperation加载数据的规则,比如:

 

此时context.Users、load.Entities等方式获得的是User数据表中全部的记录,类似于select * from User。

对EntityQuery进行适当的LINQ查询如下:

 

则此时通过context.Load方法异步加载的数据是满足上述LINQ条件的数据,即Load完之后通过context.Users、load.Entities等方式获得的数据集是UserName等于sa的User记录,类似于select * from User where UserName='sa'。

3、为什么需要LoadOperation?

通过上面的描述我们也了解到LoadOperation<User>的实例是通过context.Load<User>(query)异步加载后返回的。既然需要异步加载,一般都会在加载完成后去做一些善后工作,此时可以添加load.Completed这个事件,当异步加载完成之后会触发这个事件来完成我们的善后工作。

PS:

1、要使用WCF RIA Service服务,得装Silverlight Tools 4.0,上官网搜搜就能找到了。

2、WCF RIA Service服务的教程可以参看这个网页:http://www.silverlightchina.net/html/zhuantixilie/getstart/2010/0815/1761.html

 

这篇关于关于利用WCF RIA Service进行通信并在客户端获取数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/291212

相关文章

SpringBoot使用minio进行文件管理的流程步骤

《SpringBoot使用minio进行文件管理的流程步骤》MinIO是一个高性能的对象存储系统,兼容AmazonS3API,该软件设计用于处理非结构化数据,如图片、视频、日志文件以及备份数据等,本文... 目录一、拉取minio镜像二、创建配置文件和上传文件的目录三、启动容器四、浏览器登录 minio五、

python-nmap实现python利用nmap进行扫描分析

《python-nmap实现python利用nmap进行扫描分析》Nmap是一个非常用的网络/端口扫描工具,如果想将nmap集成进你的工具里,可以使用python-nmap这个python库,它提供了... 目录前言python-nmap的基本使用PortScanner扫描PortScannerAsync异

SpringBoot实现websocket服务端及客户端的详细过程

《SpringBoot实现websocket服务端及客户端的详细过程》文章介绍了WebSocket通信过程、服务端和客户端的实现,以及可能遇到的问题及解决方案,感兴趣的朋友一起看看吧... 目录一、WebSocket通信过程二、服务端实现1.pom文件添加依赖2.启用Springboot对WebSocket

QT实现TCP客户端自动连接

《QT实现TCP客户端自动连接》这篇文章主要为大家详细介绍了QT中一个TCP客户端自动连接的测试模型,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录版本 1:没有取消按钮 测试效果测试代码版本 2:有取消按钮测试效果测试代码版本 1:没有取消按钮 测试效果缺陷:无法手动停

Nacos客户端本地缓存和故障转移方式

《Nacos客户端本地缓存和故障转移方式》Nacos客户端在从Server获得服务时,若出现故障,会通过ServiceInfoHolder和FailoverReactor进行故障转移,ServiceI... 目录1. ServiceInfoHolder本地缓存目录2. FailoverReactorinit

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

vue2 组件通信

props + emits props:用于接收父组件传递给子组件的数据。可以定义期望从父组件接收的数据结构和类型。‘子组件不可更改该数据’emits:用于定义组件可以向父组件发出的事件。这允许父组件监听子组件的事件并作出响应。(比如数据更新) props检查属性 属性名类型描述默认值typeFunction指定 prop 应该是什么类型,如 String, Number, Boolean,