由于在实际开发中,Silverlight需要调用WebService完成数据的获取,由于之前我们一直采用古老的ASMX方式,生成的代理类不仅难以维护,而且自身没有提供APM模式的调用方式,导致在Sinverlight中实现线程同步,非常的困难.所以这里我采用了WCF Restful Service来完成. 这里我们需要新建一个WCF Rest Service Application项目: 然后在项目中,我们删掉原有的示例文件,添加一个QDService.cs类,并设为Partial模式,以便于实…
构建基于WCF Restful Service的服务 前言 传统的Asmx服务,由于遵循SOAP协议,所以返回内容以xml方式组织.并且客户端需要添加服务端引用才能使用(虽然看到网络上已经提供了这方面的Dynamic Proxy,但是没有这种方式简便),所以给开发和部署带来了不小的麻烦.并且当服务过多的时候,生成的引用文件会很大,之前项目的一个引用文件光引用代码都有5000多行,全部在一个类中.确实不方便维护. 基于以上几点,就特别研究了一下基于Restful的服务开发,当时手头有两种框架,一个…
WCF服务属性注入基础设施 WCF的服务的创建行为:使用默认构造函数创建WCF服务对象.如果我们想要在WCF内使用外部对象,最简单的方式就是把外部对象做成全局对象.然而这样的话会增加全局对象的数量,让代码的耦合度增加了.所以,我们需要突破WCF的默认行为.解决的办法是添加自定义的ServiceHost子类. 首先,添加一个IWCFService泛型接口,WCF服务将继承这个接口,从而拥有外部注入泛型属性的能力. ? public interface IWCFService<TDependency…
WCF 的 Service Instance(实例)有三种模式 PerCall:每一次调用都创建一个实例,每一次调用结束后回收实例.此模式完全无状态. PerSession:调用者打开Channel时创建实例,当调用者关闭Channel时关闭实例,在关闭前,所有的调用都是同一个实例.此模式有Session,生命周期由调用者(通常是客户端)决定. Singleton:单例模式,在Service挂到Host上时,实例就已经创建了,此后所有的调用都使用此实例,且客户端关闭Channel时,并不回收实例…
WCF Data Service:http://www.cnblogs.com/shanyou/category/240225.html…
开篇先说两名题外话, 在博问上,经常看到有个问性能问题,比如Entity Framework的性能行不行啊之类的. 其实这个行不行,关键还是看对象,一夜家族的老七可能勉强吃点蓝片片,也就行了,可真要让你同时面对360请来的嘉宾还和某某公司请来的嘉宾这样的100多个, 估计吃再多蓝片也是不行的. 一.问题的提出 很多人会奇怪,为什么MS搞这么多花样,你说搞花样也就罢了,关键是你越搞越倒退了, ADO.NET --> Entity Framework -- >WCF Data Service, 性…
前言 传统的Asmx服务,由于遵循SOAP协议,所以返回内容以xml方式组织.并且客户端需要添加服务端引用才能使用(虽然看到网络上已经提供了这方面的Dynamic Proxy,但是没有这种方式简便),所以给开发和部署带来了不小的麻烦.并且当服务过多的时候,生成的引用文件会很大,之前项目的一个引用文件光引用代码都有5000多行,全部在一个类中.确实不方便维护. 基于以上几点,就特别研究了一下基于Restful的服务开发,当时手头有两种框架,一个是WCF Restful Service,另一个是As…
在 上一章 中,介绍了如何通过 OData 协议来访问 OData 服务提供的资源.下面来介绍如何创建一个 OData 服务.在这篇文章中,主要说明在.NET的环境下,如何使用 WCF Data Service 来创建OData服务.当然,对于 JAVA 或者其它平台,也是可以创建 OData 服务的.甚至是数据库,都可以提供 OData 服务. WCF Data Service 是需要 ORM 的支持的,当然,主流的 ORM 都已经支持 WCF Data Service 了,包括(但不限于)…
最近做了一个小项目,其中用到了 WCF Data Service,之前是叫 ADO.NET Data Service 的.关于WCF Data Service,博客园里的介绍并不多,但它确实是个很好的框架.可以很方便地通HTTP来访问数据库,如果你是做富客户端开发的,用它绝对能大大减少你的工作量.出于对这个框架的喜爱,于是把自己的一些使用经验写下来,并且希望有更多的人能够用上. OData简介 说起 WCF Data Service ,不得不说的是 OData.对于一个标准的 Web 服务,它往…
目的 使用Wcf(C#)搭建一个Restful Service 背景 最近接到一个项目,客户要求使用Restful 方式接收到数据,并对数据提供对数据的统计显示功能,简单是简单,但必须要使用Restful方式,客户端传递数据就必须使用Rest ful的格式的url,提交方式为Post. 其实在之前的公司里边就开发过一个restful服务,但只记得自己使用的wcf,而今已经忘记的差不多了,还以为只是简单的搭建一个wcf就可以,今天起初就创建了一个wcf项目,发现wcf项目http://localh…