安全验证之使用摘要认证(digest authentication)
摘要:安全验证之使用摘要认证(digest authentication)在前一篇文章中,主要讨论了使用HTTP基本认证的方法,因为HTTP基本认证的方式决定了它在安全性方面存在很大的问题,所以接下来看看另一种验证的方式:digest authentication,即摘要认证。系列文章列表ASP.NET Web API(一):使用初探,GET和POST数据ASP.NET Web API(二):安全验证之使用HTTP基本认证ASP.NET Web API(三):安全验证之使用摘要认证(digest authentication)摘要认证原理在基本认证的方式中,主要的安全问题来自于用户信息的明文传输,而
阅读全文
WCF 学习笔记之双工实现
摘要:WCF 学习笔记之双工实现其中 Client 和Service为控制台程序 Service.Interface为类库首先了解契约Interface两个接口using System.ServiceModel;using System.ServiceModel.Channels;namespace Artech.WcfServices.Service.Interface{ [ServiceContract(Namespace = "http://www.artech.com/", CallbackContract = typeof(ICalculatorCallback))]
阅读全文
使用WCF Data Service 创建OData服务
摘要:使用WCF Data Service 创建OData服务在上一章中,介绍了如何通过 OData 协议来访问 OData 服务提供的资源。下面来介绍如何创建一个 OData 服务。在这篇文章中,主要说明在.NET的环境下,如何使用 WCF Data Service 来创建OData服务。当然,对于 JAVA 或者其它平台,也是可以创建 OData 服务的。甚至是数据库,都可以提供 OData 服务。WCF Data Service 是需要 ORM 的支持的,当然,主流的 ORM 都已经支持 WCF Data Service 了,包括(但不限于) Entity Framework、Linq to
阅读全文
了解OData(一)
摘要:了解OData(一)最近做了一个小项目,其中用到了 WCF Data Service,之前是叫 ADO.NET Data Service 的。关于WCF Data Service,博客园里的介绍并不多,但它确实是个很好的框架。可以很方便地通HTTP来访问数据库,如果你是做富客户端开发的,用它绝对能大大减少你的工作量。出于对这个框架的喜爱,于是把自己的一些使用经验写下来,并且希望有更多的人能够用上。OData简介说起 WCF Data Service ,不得不说的是 OData。对于一个标准的 Web 服务,它往往会提供了一些功能,比如说:订货、退货这些,然后使用者通过HTTP协议来使用这些功能
阅读全文
数据契约、消息契约与错误契约3
摘要:十二、数据契约 在实际应用当中数据不可能仅仅是以int Add(int num1, int num2)这种简单的几个int的方式进行传输的,而是要封装成相对复杂的Request/Response对象,即用我们自定义的类来进行消息的传输,那么就需要一种规则来序列化/反序列化我们自己的对象成为某种标准格式。WCF可以通过数据契约来完成这一过程,WCF使用的序列化器是DataContractSerializer。 在一个类上打上DataContract标记表示这是一个数据契约,其中打上DataMember的属性会被WCF序列化,与是否public无关(P174),例子:[DataContra...
阅读全文
那天有个小孩教我WCF[一][1/3]
摘要:那天有个小孩教我WCF[一][1/3]既然是小孩系列,当然要有一点基础才能快速掌握,归纳,总结的一个系列,哈哈前言:第一篇嘛,不细讲,步步教你创建一个简单SOA案例,对WCF有个基本的认识,我不会细讲概念1.1 SOA简介SOA(Service-Oriented Architecture,面向服务架构),既是一种编程模式,也是软件开发的一种架构方法。根据这种架构方法,应用程序就会由“具有一定行为(服务)的功能”单元组成的。1.2 基本开始前言: 我们准备完成一个简单的新闻发布系统 内部编辑发布新闻有更多的功能,但是外部我只提供查看功能,添加自己的新的新闻,但是新闻类型是 好友提供可能由于我们的
阅读全文
WCF+Restfull服务 提交或获取数据时数据大小限制问题解决方案
摘要:WCF+Restfull服务 提交或获取数据时数据大小限制问题解决方案近日在使用wcf的restfull架构服务时遭遇到了提交大数据的问题。大数据包含两种情形:1)单条数据量过大。2)提交或获取的数据条数过多。 在测试时发现,默认设置下当单条JSON数据大于30K时服务便不予受理。 提交或获取数据大小的限制来自两方面,即IIS服务和WCF服务。这两方面的限制都可以通过配置WCF服务端的Web.config相关配置节点的方式解决。废话不说了,直接上解决方案。未配置的原始Web.config ...
阅读全文
在 WCF 中使用高效的 BinaryFormatter 序列化
摘要:在 WCF 中使用高效的 BinaryFormatter 序列化本文将定义一个 WCF 终结点行为扩展,以在 WCF 中使用更高效的 BinaryFormatter 进行二进制序列化,并实现对是否使用传统二进制序列化功能的可配置。介绍实现步骤使用方法效果介绍在OEA框架中,是使用 WCF 作为数据传输框架。但是使用 WCF 内部的二进制序列化,序列化后的数据大小,要比使用传统的 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter 类进行序列化后的数据大小要大得多。作为使用 .NET 框架的系统内部互联,往往期望在使用 W
阅读全文
消息交换、服务实例、会话与并发
摘要:消息交换、服务实例、会话与并发上一篇:WCF把书读薄(1)——终结点与服务寄宿 八、消息交换模式 WCF服务的实现是基于消息交换的,消息交换模式一共有三种:请求回复模式、单向模式与双工模式。 请求回复模式很好理解,比如int Add(int num1, int num2)这种方法定义就是典型的请求回复模式,请求者发送两个数字,服务回复一个结果数字。如果采用ref或者out参数,那么在xsd当中,ref参数会作为输入和输出参数,out参数只作为输出参数。在WCF当中void返回值的操作契约其实也是请求响应模式的,因为将返回值改为void,影响的只是回复消息的xsd结构,void返回的是一个...
阅读全文
终结点与服务寄宿
摘要:终结点与服务寄宿由于最近可能要使用WCF做开发,开始重读蒋金楠的《WCF全面解析》,并整理个人学习WCF的笔记。 蒋金楠的书是我的第一本WCF入门书,虽说硬着头皮啃下来了,但是原理内容太多太多,没有长期的经验是无法掌握的,而且这本书写得太过于偏重原理,并不是一本稍微看看就能速成并实现工作需求的书。 于是这篇文章的目的就是把原理和类结构分析给干掉(毕竟书上都有,我何必抄书?),把一些关键话语和配置方式摘出来,以便日后一旦遇到问题有个速查的手册,也相当于为这本书做了一个索引。 不过不得不说的是,对我这样的新手,读完了书中对WCF类结构的分析,对自己的框架设计能力的确起到了一定促进作用。 这...
阅读全文
WCFRest实例:打造轻巧灵活的服务和Url
摘要:WCFRest实例:打造轻巧灵活的服务和Url如果想做一个分布式系统,肯定需要不同的机器来提供不同的服务,而有些基于http协议,有些tcp/ip协议,有些使用MSMQ通道,以往的技术实现起来比较容易,但是有一点是致命的:管理起来不方便。于是WCF顺势而出。但是使用一段时间后你会发现,你只是需要一点点,但是却有一堆臃肿的东西在你服务器上,于是wcfrest和WebApi顺势而出(其实是很原始的技术,只是换了一个马甲,重新封装了一下)。基础东西我就不介绍,主要说下实际应用的东西。写博客一段时间,偶然百度下自己写的内容,发现各种爬虫把自己码的字都爬过去了。好吧,你赢了。此片博文特此感谢小蓝同学。好
阅读全文
WCF学习 第三天 事务的使用
摘要:WCF学习 第三天 事务的使用今天是速成的第三天,再分享一下WCF中比较常用的一种技术,也就是”事务“。在B2B的项目中,一般用户注册后,就有一个属于自己的店铺,此时,我们就要插入两张表, User和Shop表。当然,要么插入成功,要么全失败。第一步: 首先看一下项目的结构图:第二步: 准备工作,我们新建Commerce数据库,用EF去映射,然后新建ServiceWCF类库,具体步骤就省略, 这一块不懂可以留言。第三步:新建一个Model类库。建立两个实体类Shop和User,当然自定义类型在WCF中传输, 必须在类上加上【DataContract】,属性上加【DataMem...
阅读全文
简易WCF负载均衡方案
摘要:简易WCF负载均衡方案最近跟高老师讨论nginx跟tomcat集群做负载均衡方案。感觉很有意思。想到自己项目中服务用的WCF技术,于是就想WCF如何做负载均衡,Google了一会,发现wcf4.0的路由服务好像可以实现。不过在研究路由服务期间,我有了个自己的方案,哈哈。我要在客户端跟WCF服务中间部署一台WCF平衡服务器,用来分发请求,模拟nginx的工作。WCF平衡服务器我同样用WCF来实现,所有服务接口全部通过平衡服务区暴露给客户端。对于客户端来说,只要跟正常调用服务一样,添加平衡器的远程服务引用。实现:1.平衡服务类库namespace WcfSimpleBalance{ /// ...
阅读全文
在IIS上发布基于Windows Azure Service Bus的WCF服务
摘要:在IIS上发布基于Windows Azure Service Bus的WCF服务概要随着Windows Azure在中国的落地, 相信越来越多的人会用到Windows Azure。Windows Azure提供了丰富的基于云的各种服务,其中包括Service Bus(服务总线),通过Service Bus, 我们可以将传统的WCF Service注册到Window Azure Service Bus上。本文以IIS8, WCF4.0为例,详细介绍如何将部署在IIS里面的WCF服务如何主动注册到Windows Azure Service Bus。注册到Windows Azure Service
阅读全文
RESTful WCF
摘要:RESTful WCF自打学编程以来,蠢事干过不少,就“掉进坑里”这事而言,有不小心陷进去的,有心甘情愿跳下去的,还有被别人拉进去的...但是像过去两天一样一步一个坑的...真的是还没有体验过。“避之不得,弃之可惜”,人生最痛苦的事莫过于此。好吧,“最近”REST很热门...我那么喜欢凑热闹的人,当然也想搞一搞,其实最主要的是SharePoint 2013搜索里面有一种API采用了这种模型,为了“备着用”,也应该了解下...当然这个很大程度上是个借口。百度一下或者谷歌一下教程真不少,全部声称构建支持“CRUD”的REST WCF,但是打开一看,简直就是坑爹啊...要么只实现了查询,要么只实现了
阅读全文
通过WCF Extension定制扩展WCF行为
摘要:通过WCF Extension定制扩展WCF行为功能介绍当我们需要扩展WCF的功能,或者需要实现某些特定的功能,我们必须应用WCF的扩展定制功能(WCF extension),WCF framework提供了丰富的可扩展性,其提供的可扩展接口如下所示:WCF定制行为相关的namespace主要包括2个:System.ServiceModel.Disptcher: 该namespace主要用来用来定制行为,他们可以用来扩展WCF的服务模型。System.ServiceModel.Channels: 该namespace用来定义定制绑定元素,它们可以扩展WCF的信道层。实现定制行为的步骤 实现定制
阅读全文
WCF浅尝
摘要:WCF浅尝1.首先先建立一个WCF服务应用程序2.再建立一个宿主程序,这里用控制台,添加服务引用,这里会报错:点击页面确定,回到添加服务页面点击箭头有如下内容:这里告诉我们问题的所在,我们只要重新生成解决方案就行了。好,重新生成解决方案,ok,问题解决,添加引用服务成功。3.在控制台程序里启动服务: static void Main(string[] args) { using (ServiceHost host = new ServiceHost(typeof(WcfService2.Service1))) { ...
阅读全文
对于最近学习WCF的总结
摘要:对于最近学习WCF的总结——唔聊的服务作为今年的应届毕业生,找工作的压力确实很大,貌似今年的就业形势不是特别的好,如果博友们有手机客户端的职位,请帮我推荐一下,津京地区windows phone,ios,android皆可。好了,言归正传。今天需要总结的是最近学的WCF服务编程,这个是我的毕业设计。因为刚学,如果文中有什么错误,还请多多指正。首先介绍一下,整个应用的业务逻辑。我的毕业设计是一个多客户端平台的随机交友应用,起名叫做唔聊,有点类似于omegle.com,就是随机匹配一些陌生人进行聊天,但是不像陌陌那样主动去选择符合条件的用户,因为性别和头像总会影响我们的选择,但在omegle的基础
阅读全文
WCF 客户端调用几种方式
摘要:WCF 客户端调用几种方式我们首先先新建一个WCF服务项目(代码没有改变,都是默认生成),然后把它部署到IIS上面,为我们下面客户端调用做准备(当然IIS宿主只是其中一种,还有Windows服务、Winform程序、控制台程序中进行寄宿);方式一:利用工具svcutil.exe命令生成代理类 svcutil.exe {终结点}/out:{输出文件.cs} /config:{配置文件.config} 如: svcutil.exehttp://localhost:8089/Service1.svc?wsdl/out:Client.cs /config:app.config1:首先开打Visual
阅读全文
wcf基础知识之完结
摘要:wcf基础知识之完结在我以前的wcf博客中,我倾向于通过一个具体的问题来引出一个wcf的技术知识点,这得到了园友们的支持,我在这里向支持我的朋友们说声谢谢,谢谢你们的支持。但是也得到了很多的建议,今天有园友通过QQ联系我说,我讲的内容虽然说有知识点,但是知识点太分散,不能完整的理解wcf的各个知识点的作用以及相互之间的联系,我听后觉得很有道理,所以我放弃我以前的分散写wcf知识点的做法,改成一个系列一个系列的进行,这样可以让大家更好的更完整的掌握wcf的精髓。我整理了一下wcf的知识系列,可是费了我不少的功夫啊,写一个容易,要想总结出每个知识点应该属于哪个系列,还真是要费些脑细胞才行啊。WCF
阅读全文