随笔分类 - wcf
摘要:
本节主要讲述在服务调用中可能发生的异常及模拟异常的发生,并分析何时可捕获何种异常,以及如何把服务异常以正确的方式传递到客户端,
文章最后给出正确捕获异常的捕获顺序。本次异常捕获仅为介绍,部分为应用性功能,所以代码和行文相对简单;还介绍了在服务器端异常处理的一些技巧,希望能对您有所帮助。右侧图片我也比较懒了,直接使用WCF安全系列的图片。
阅读全文

摘要:
在实际的项目开发中,我们常常会处理各种各样的异常,在代码中不断充斥着try{}catch{}finally{}语句块,这些处理有些时候是不可缺少的,因为谁都没有办法保证自己写的代码无异常运行,外部环境造成了异常存在的可能性,但是我常常觉得,捕获异常的语句块经常把原本清晰的业务逻辑弄得七零八落的,当然,本篇的目的不是说异常捕获可完全避免,但到少WCF可以让我们稍微从异常处理中得到一点解脱。
阅读全文

摘要:
在上一章我们说到可以建立自定义的声明授权策略,灵活的对服务操作进行访问限制,这次嘛,我想我们还是专注在这一块上面,不过要讨论的是限制服务访问的另一种策略,即如何配置基于声明安全性的服务访问权限,本次示例主要是通过一个服务中建立三个不同的操作,还是用经典的计算器操作吧,我们将在加法上配置服务必须是windows管理员权限组的成员才可以调用服务操作,减法操作上将访问限制为windows来宾(Guest)组成员可以访问,乘法操作是任何人都可以访问的,本次示例运行在单独的计算机上,因为我们采用的安全策略为Message,在传输和消息安全上,都是启用了windows,应用还是非常简单的。等不及了吧?呵~,开锣咯~~
阅读全文

摘要:
在上一章里面,我们说到wcf可以使用自定的义的用户名密码方式限制对服务的访问和加密,有可能存在这样一种情况,比如一个协定中存在多个操作,即一个服务契约中包含多个操作契约,如果我们还希望在同一用户访问当前服务契约的时候,更进一步,可以让我们做到对不同的用户授予不同的操作契约的访问,直白一点,比如有两个用户admin、admin2,admin可以访问服务契约中的两个操作契约,但是admin2只能访问其中一个,本示例将实现这种需求,在以下的示例中,服务:IUserData 中包含三个操作契约,我们将对admin、admin2 这两个用户授予不同的操作契约的访问权限,在客户使用不同的用户调用服务后,服务器将打印当前的请求服务的用户、请求的资源、服务器对声明的检查、检查结果等数据。
阅读全文

摘要:
在上一篇X509证书介绍后,相信大家对怎么使用X509证书在WCF的安全策略中有一定的了解,本章主要讲述在WCF的消息安全模式下的服务器对客户端基于自定义用户名和密码的身份验证模式。当所有内置 UserNamePassword 验证模式均不符合应用程序的要求时,你可以能过继承 System.IdentityModel.Selectors.UserNamePasswordValidator 抽象类,并重写其Validate 方法来实现自己的用户名密码验证程序,实际上,内置的用户名密码验证方式比自定义的用户名密码验证方式要可靠得多,因为自定义的用户名密码验证程序任何人都可以构造,但是标准的用户名密码验证方式刚是将用户提供的用户名密码映射到windows账户,所以,如果映射失败,意味着验证不通过,以下示例在服务器端启用自定义的用户名密码验证程序,客户端在调用服务前需要提供访问服务所需要的用户名密码,并在Endpo
阅读全文

摘要:
X.509 是由国际电信联盟(ITU-T)制定的数字证书标准,相信这是人尽皆知的了,目前X.509证书据我所知有三个版本,.net中使用的是 x.509-2,X.509-2 版引入了主体和签发人唯一标识符的概念,以解决主体和/或签发人名称在一段时间后可能重复使用的问题,x509-2(以下简称x509)证书由两把钥匙组成,通常称之为密钥对,公钥加密,私钥解密。今天我想在这里对x509进行一个深入的介绍和了解,因为在WCF的安全体系中,x509证书应用是非常频繁的,或者说是不可缺少的,X509里有哪里秘密?一起瞄瞄呗~~
阅读全文

摘要:
故事发生在一个阳光明媚的下午,一名女子为了混入某小区行窃,将上次偷到的管道维修工作牌别在胸前,当她走近管理员身边时,被管理员一把抓个正着,原来这小区从上次失窃事件后,已经将维修队解散,现在维修都是由管理员联系外部人员,自然也不用别什么工作牌了。
1、许多朋友对这个EndPointIdentity相当的不屑顾,千万不要小看它呀,有时候你被wcf弄生弄死的时候还不知道为什么,这次你应该看清楚了。当你新建一个WCF服务类库时,正确的EndPointIdentity声明如下
阅读全文

摘要:
最近在做一个项目,应用了WCF进行分布式开发,中间还涉及到消息路由器等,好在有WCF提供了强大的基础支持,当然,本身也作了不少的扩展,实际,我最关心的是WCF的安全问题,网上不少朋友介绍的WCF的安全也是少得可怜,微软发布的WCF Security GUID好像讲得也只是入门级别的教程,离真正应用到项目中还是有很大的距离,这也让我萌发了分享的想法,今天先放出来占个位置吧,有反对的朋友砖头轻点,呵~,可以告诉你,WCF的安全里,有很多的小秘密,当然还是要告诉你,并且有此小秘密是要自己去体验后才知道,在博客排版方面,李会军(军哥)让人感觉最舒服,在解说方面,军哥也是以简洁著称,我在这里也学习一下,一起简洁吧,我希望以后的WCF安全探讨里,一次只讲一个小内容好了~
阅读全文

摘要:上一篇讲到WCF如何正确调用LINQ TO SQL,只涉及到了新增记录的操作。到于为什么要把更新操作分开来讲呢?因为更新确实有点麻烦,相对于新增操作来说,稍微有点难。
阅读全文
摘要:在上一篇,我们说到了通过设置Linq上下文的Serialization Mode属性为Unidirectional,使Linq自动支持WCF的序列化。
在这一篇我想说一下如何设置Linq实体类各种属性使WCF可以正确的调用Linq完成数据操作,并通过一些异常来说明为何要那样去做,并且在这一次,我会加入一些调料,比如工厂模式。
好吧,让我们马上开始!项目还是使用上一篇所建立的采购项目,如果有不明白的朋友,请下载上一篇的源代码。
说到做到,首先,
阅读全文
摘要:这篇文章准备了很长时间,真的是没时间写.今天就来完善吧!在我之前的Linq对WCF序列中的解决方案(参考),我说过这个方案并不很
好,一直在寻找更好的解决方案.
阅读全文