首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WCF技术剖析之十四:泛型数据契约和集合数据契约(下篇)

实际上,如果你在定义服务契约的时候,某个服务操作的参数类型设为IEnumerable或者,默认导出生成的服务契约中,相应的参数类型就是数组类型。...要比直接使用数组方便得多。...图1 在添加服务引用时指定集合类型 二、IEnumerableIList 上面我们介绍了IEnumerable、ArrayIList这3种集合类型的序列化规则,这3种集合类型有一个共同的特点...技术剖析之二:再谈IISASP.NET管道 WCF技术剖析之三:如何进行基于非HTTP的IIS服务寄宿 WCF技术剖析之四:基于IIS的WCF服务寄宿(Hosting)实现揭秘 WCF技术剖析之五:利用...WCFEnterLib PIAB、Unity之间的集成 WCF技术剖析之八:ClientBase中对ChannelFactory的缓存机制 WCF技术剖析之九:服务代理不能得到及时关闭会有什么后果

1.5K70
您找到你想要的搜索结果了吗?
是的
没有找到

WCF技术剖析之一:通过一个ASP.NET程序模拟WCF基础架构

不过,一改传统对WCF的工作流程进行平铺直叙,我另辟蹊径,借助于我们熟悉的ASP.NET作为请求处理平台,通过一个简单的托管程序模拟整个WCF客户端和服务端的架构。...下面的列表列出了WCF服务端框架对于处理一个简单的WCF服务调用请求所提供的功能,以及相应的功能承载的组件: 请求消息的接收和回复消息的发送:服务端在传输层监听接收来自客户的请求,并将经过编码后的回复消息通过传输层发送到客户端...请求消息的解码和回复消息的编码:接收到的字节数组通过解码生成请求消息对象,并将回复消息通过编程转化成字节组。...序列化和反序列化通过ClienthMessageFormatter完成 请求消息的编码和回复消息的解码:对请求消息进行编码生成字节数组供传输层发送,以及传输层接收到的字节数组解码生成恢复消息。...图1 精简版WCF客户端服务端组件 图1反映了进行服务调用的必要步骤和使用到的相关WCF组件。

99780

WCF技术我们应该如何以正确的方式去学习掌握

虽然本次课程叫WCF技术从入门到实战,但是本次课程的重点还是侧重实战环节,阿笨带来的自己对WCF技术的一些理解和认识吧,力争WCF技术的真真干货内容分享给大家。...这就是阿笨的课程市面上最大的不同点,"理论+实战相结合"+"从实战从来到实战中去",学完后直接学习成果运用到实际项目中去!...三、C# WCF如何通过优雅的方式进行统一入口调用 采用WCF服务代理工厂(WCFServiceProxyFactory),通过服统一入口给我们的调用者提供的服务吧。...五、实战演练之C# WCF如何通过优雅的方式进行统一入口调用) 客户端调用WCF服务可以通过添加服务引用的方式添加,这种方式使用起来比较简单,适合小项目使用。...服务服务端的耦合较深,而且添加服务引用的方式生成一大堆臃肿的文件。 本例探讨一种使用接口的方式使用WCF服务,克服通过服务引用方式产生的弊端。同时希望抛砖玉,探讨更好的方式使用WCF。 ?

44520

WinForm企业应用框架设计【一】界限划分动态创建WCF服务(no svc!no serviceActivations!)

WinForm企业应用框架设计【一】界限划分动态创建WCF服务(no svc!no serviceActivations!)...我还等着看呢~ 好了言归正传 我承诺这个系列包含以下这些内容 1.一个简单的面向服务编程的框架的搭建 2.动态创建WCF(no svc!no serviceActivations!)...3.客户端根据约定自动识别WCF服务 4.客户端框架窗体(如上图所示) 5.动态菜单动态业务窗体 如果反响不错~我加入如下内容 6.组织架构和人事管理 7.角色权限控制 8.自定义打包工具 好吧~真正的言归正传...【上句话在2011-12-2修改】 XL.Service中针对每个业务都将有一个WCF服务之对应, 每个服务类型都实现了XL.ServiceAPI中的一个接口 XL.Client中通过XL.ServiceAPI...in ts) { //约定:类型名以Service结尾的为WCF服务类型 if (t.Name.EndsWith(

55340

通过一个模拟程序让你明白WCF大致的执行流程

我们只模拟WCF完成一个简单的服务调用所必需的组件和流程,右图反映了进行服务调用的必要步骤和使用的相关WCF组件。...下面列出了服务端涉及的组件和流程: 请求消息的接收和回复消息的发送:服务端在传输层监听接收来自客户的请求,并将经过编码后的回复消息通过传输层发送到客户端; 请求消息的解码和回复消息的编码:接收到的字节数组通过解码生成请求消息对象...序列化和反序列化通过ClientMessageFormatter完成; 请求消息的编码和回复消息的解码:对请求消息进行编码生成字节数组供传输层发送,以及传输层接收到的字节数组解码生成回复消息。...泛型的Register方法用于注册地址服务类型的映射关系,而Find方法则根据地址获取相应的服务类型。...WCF服务代理对象是通过ChannelFactory创建的,我们来创建如下一个之对应的ServiceProxyFactory类,泛型参数依然表示契约接口类型

1.4K60

2019-1-31-wcf入门(12)

本文demo已上传至github:xinyuehtx/WCFdemo 这个博客会介绍如何设置服务的异步调用 ---- 之前在介绍2019-1-24-wcf入门(3) - haungtengxiao请求答复模式时...实际上在C#5入基于任务的异步模型(TAP,async/await)之后,异步的wcf服务变得非常简单。 异步实现 首先在定义接口时,返回值改为Task,表明这个方法可以异步 ?...额外的,服务端实现,增加了3秒同步等待。 ? ? 结果发现在服务端输出收到消息之前,客户端代码就已经返回了。 而不需要等到服务端执行到await ?...小结 我们研究了WCF服务的异步代码,其特点有 可以直接使用现有的TAP模式 发送完直接返回,不用担心信道,或者服务端实现 可以有返回值 参考链接: 2019-1-24-wcf入门(3) - huangtengxiao.../post/wcf%E5%85%A5%E9%97%A8-12.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

40520

ExtJsWCF交互:生成树

上文做了下AjaxWCF进行json交互的简单介绍,本文阐述一个具体的实际应用:ExtJsWCF交互,生成树.也很简单.先看看最终的效果吧: 第一步: 创建一个.net framework 3.5...的网站项目ExtJsTreeWcf 第二步: 在网站项目中创建一个启用了Ajax的WCF服务WcfTreeService.svc,创建好之后,对该服务做如下的更改: 1)在WcfTreeService.svc...  List nodes = new List();  nodes.Add(t);  nodes.Add(t1);  return nodes.ToArray()...;  }  // 在此处添加更多操作并使用 [OperationContract] 标记它们  }  } 其中treenode是数据契约,而WcfTreeService是服务契约,服务操作GetTree..."text/javascript" src="js/ext2.1/ext-all.js">  第五步:在default.aspx增加如下的页面元素:  ExtJsWCF

1.4K90

WCF技术剖析(卷1)之目录

步骤五:创建客户端调用服务            步骤六:通过IIS寄宿服务    第2章  终结点地址WCF寻址 (Endpoint Address and WCF Addressing...4.1.5  WCF是CLR类型厂商无关服务描述的适配器        4.2  服务契约编程接口            4.2.1  ServiceContractAttributeOperationContractAttribute...        5.4  泛型数据契约集合数据契约            5.4.1  泛型数据契约            5.4.1  数据契约对数组集合的支持            5.4.2...客户端是如何进行服务调用的            8.1.5  案例演示8-2:创建一个托管应用模拟最简单的WCF框架     8.2  ChannelFactory和DuplexChannelFactory...和DuplexChannelFactory            8.2.3  创建服务代理            8.2.4  通过服务代理进行服务调用        8.3  ClientBase

91890

wcf负载均衡简易方案

想到自己项目中服务用的WCF技术,于是就想WCF如何做负载均衡,Google了一会,发现wcf4.0的路由服务好像可以实现。不过在研究路由服务期间,我有了个自己的方案,哈哈。...我要在客户端跟WCF服务中间部署一台WCF平衡服务器,用来分发请求,模拟nginx的工作。 ? WCF平衡服务器我同样用WCF来实现,所有服务接口全部通过平衡服务区暴露给客户端。..._channelFactory.CreateChannel(); } } } 其中泛型T为协定,这样就能动态构建wcf的通道了。...构造函数调用基类的构造函数,传入服务名称。Add实现直接调用基类的方法。 模拟: 1.wcf服务器寄宿 WCF服务可以寄宿在多个方案下面,IIS,win服务,控制台。这里为了方便直接寄宿在控制台下。...新建2个控制台程序,一个寄宿普通的wcf服务。一个寄宿wcf平衡服务。代码不表,给出服务地址。 3个普通的服务

49810

简易WCF负载均衡方案

想到自己项目中服务用的WCF技术,于是就想WCF如何做负载均衡,Google了一会,发现wcf4.0的路由服务好像可以实现。不过在研究路由服务期间,我有了个自己的方案,哈哈。...我要在客户端跟WCF服务中间部署一台WCF平衡服务器,用来分发请求,模拟nginx的工作。 WCF平衡服务器我同样用WCF来实现,所有服务接口全部通过平衡服务区暴露给客户端。..._channelFactory.CreateChannel(); } } } 其中泛型T为协定,这样就能动态构建wcf的通道了。...构造函数调用基类的构造函数,传入服务名称。Add实现直接调用基类的方法。 模拟: 1.wcf服务器寄宿 WCF服务可以寄宿在多个方案下面,IIS,win服务,控制台。这里为了方便直接寄宿在控制台下。...新建2个控制台程序,一个寄宿普通的wcf服务。一个寄宿wcf平衡服务。代码不表,给出服务地址。 3个普通的服务

44130

ExtJs学习笔记(22)-XTemplate + WCF 打造无刷新数据分页

本文讲解如何用XTemplate结合WCF服务端交互,生成数据列表,同时加上无刷新分页功能(默认情况下ExtJs并没有为XTemplate并没有提供分页功能) 1.先做一些准备工作,写一个通用的类... _List = new List(); _List.Add(new T_GuestBook() { F_ID = 1, F_IP =... _List2 = _List.Skip((PageIndex - 1) * PageSize).Take(PageSize).ToList();//取得当前页数据...: 因为JavaScriptConvert.SerializeObject(_PageData)这里已经成功序列化了,但是wcf服务在返回时,必须要有一种格式,要么xml,要么json,所以我们指定了...相信也有不少人跟我有一样的疑问,后来我想了想,至少有二个好处:    a.updatepannel默认会引起大量的数据回发,虽然页面没刷新,但是客户端跟服务端之间的传输数据量很大,而用ExtJs+Wcf

1.4K50

使命必达: 深入剖析WCF的可靠会话(内含美女图片,定力差者慎入)

通过前面一系列的博文(《WCF 并发(Concurrency)的本质》、《并发中的同步》、《实践重于理论》、《并发实例上下文模式》、《回调并发》、《ConcurrencyMode.Multiple...模式下的WCF服务就一定是并发执行的吗[上篇]》、《ConcurrencyMode.Multiple 模式下的WCF服务就一定是并发执行的吗[下篇]》、《控制并发访问的三道屏障[上篇]》和《控制并发访问的三道屏障...在客户端,我们选择一张图片,并对它进行切片,最后通过调用WCF服务每一个切片依次传输到服务端。服务端则按照切片被接收到的顺序重新组装成一张完整的图片。...解决了对不稳定网络环境的模拟问题,我们现在正式来创建我们用于图片传输的WCF服务。...值得注意的一点是,ImageAssembler_ImageCliceReceived方法接收到的字节数组转化成位图,依次显示到上述的25个PictureBox上。

1.1K100

.NET 4.6.2正式发布带来众多特性

虽然大多数人的注意力都集中在.NET Core上,但原来的.NET Framework相关的工作还在继续。....ClickOnce 当分发基于Windows Forms或WPF的应用程序时,大多数组织都会认真考虑使用ClickOnce。ClickOnce允许应用程序通过URL便捷地分发。...只要在服务器端做一点点工作,InfoQ上有篇2008年的文章 以单个人为单位准确地控制提供哪个版本详细介绍怎么做。 由于ClickOnce应用程序对企业用户而言如此重要,所以安全当然是一个关注的重点。...NET 4.6.2的新增特性是,SignedXml支持“RSA-SHA256、RSA-SHA384和RSA-SHA512 PKCS#1签名方法以及SHA256、SHA384和SHA512用摘要算法”。...WCF 大家知道 .NET Core 只有WCF客户端, 服务端还得使用.NET Framework, WCF的这次更新带来也是安全和异步化方面支持,WCF TransportDefaults不再支持SSL3

1.1K50

检测WCF服务是否在线(动态执行WCF服务

在我们的系统里有多个wcf支撑。但是有的时候会莫名的停止,于是今天写了一个服务,定时去检测其他wcf服务是否在线。...那么最简单的办法自然是引用其他wcf服务让vs给我们自动生成clientProxy然后一个个去调用是否正常。但是这种办法显然不是我要的。我要弄一个通用的服务检测。   ...方案1:   对于httpbinding的wcf服务有个最简单的检测方法:就是用httpClient去请求一下服务地址看有没有服务描述xml返回。如果有就是live不然就是服务异常关闭了。...正常使用ChannelFactory调用wcf服务: var channelFactory = new ChannelFactory(endpoint); var proxy = this....这样,当需要监控新的wcf服务的时候只要在配置文件里添加一行协定,程序集,调用方法,endpoint的配置即可,当然协定所在的dll要复制到程序的跟目录下或者指定的文件下。

1.3K70

WCF技术剖析之十四:泛型数据契约和集合数据契约(上篇)

但是基于WCF的编程语言是C#、VB.NET这样的完全面向对象的编程语言,而WCF服务却是基于面向服务的。...技术剖析(卷1)》第五章:序列化数据契约(Serialization and Data Contract) WCF技术剖析系列: WCF技术剖析之一:通过一个ASP.NET程序模拟WCF基础架构...WCF技术剖析之二:再谈IISASP.NET管道 WCF技术剖析之三:如何进行基于非HTTP的IIS服务寄宿 WCF技术剖析之四:基于IIS的WCF服务寄宿(Hosting)实现揭秘 WCF技术剖析之五...WCFEnterLib PIAB、Unity之间的集成 WCF技术剖析之八:ClientBase中对ChannelFactory的缓存机制 WCF技术剖析之九:服务代理不能得到及时关闭会有什么后果...WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理 WCF技术剖析之十一:异步操作在WCF中的应用(上篇) WCF技术剖析之十一:异步操作在WCF中的应用(下篇) WCF技术剖析之十二:数据契约

1.2K90

WCF传输安全(Transfer Security)的基本概念和原理:认证(Authentication)

WCF是一个以消息作为通信手段的分布式编程平台,使我们可以某些可复用的功能以服务的方式进行定义,并最终部署于分布式网络环境中的某个节点,供潜在的服务消费者调用。...一、分布式应用中的传输安全隐患 我们可以WCF看成是一个消息处理框架,整个框架大体分成两个部分,客户端和服务端。...如果服务每一个接收到的消息都当成是来自正常访问者的请求,来者不拒,最终将会耗尽服务端的可用资源并崩溃。...以一个分布式的Web应用为例,我们可以在Web服务器和应用服务器设置防火墙。前者确保Web服务器的安全,使第一道防线。...对于WCF的Windows之类似,在不考虑模拟(Impersonation)和委托(Delegation)的情况下,WCF客户端安全框架自动客户端应用进程的Windows凭证,作为调用服务的客户段凭证发送给服务进行认证

82090

ExtJs学习笔记(2)_Basic GridPanel

这一节,学习如何使用网络上最常见的UI控件_Grid 1.静态示例: 静态示例其实官方下载包里,就有sample,这里只贴出代码,后面的如何跟WCF结合,做出动态版的Grid才是本文重点 <!...服务端 (1)新建一个"启用了Ajax的WCF服务",命名为MyService.svc (2)写一个方法用于取得网格所需的数据 [ServiceContract(Namespace = "")]...[] GetClsData()         {             List _Result = new List(); using (DBDataContext... _Result = new List();             using (DBDataContext db = new DBDataContext())...2.WCF服务端方法,必须设置成JSON格式,另外Method设置为GET,否则运行时,前端页面读不出数据 3.如果设置了autoExpandColumn,则autoExpandColumn对应的列

1.7K90

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券