最近到了新公司,leader让我研究一下WCF的传输安全机制.以前也做过WCF的应用,但是很少涉及安全方面的东西.所以,花了三天的时间研究了一下如何在WCF的应用程序中配置安全.在这个系列文章中,我会将我的一些心得分享给大家,希望对大家有所帮助. 我所做的研究主要是使用UserName的验证方式,对请求进行验证,本文主要介绍使用basicHttpBinding进行验证,后续两篇文章中将针对wsHttpBinding介绍使用http方式验证以及https(SSL)方式验证. 首先,想跟大家说明,这…
上一篇文章中介绍了如何使用basicHttpBinding构建UserName授权的WCF应用程序,本文将为您介绍如何使用wsHttpBinding构建非SSL的UserName安全授权的WCF应用程序. 与上篇文章一样,同样将该示例分为服务端与客户端介绍. 1. 服务端 (1) 实现CustomUserNameValidator 与上篇文章一样,需要首先实现CustomUserNameValidator,如果还不知道如何生成CustomUserNameValidator,请参考上一篇文章. p…
上一篇文章中介绍了如何使用wsHttpBinding构建UserName授权的WCF应用程序,本文将为您介绍如何使用wsHttpBinding构建基于SSL的UserName安全授权的WCF应用程序. 与上篇文章一样,同样将该示例分为服务端与客户端介绍. 1. 服务端 (1) 实现CustomUserNameValidator 首先实现CustomUserNameValidator,如何创建CustomUserNameValidator请参见第一篇与第二篇文章. public class Cus…
构建RESTful风格的WCF服务 RESTful Wcf是一种基于Http协议的服务架构风格. 相较 WCF.WebService 使用 SOAP.WSDL.WS-* 而言,几乎所有的语言和网络平台都支持 HTTP 请求. RESTful的几点好处: 1.简单的数据通讯方式,基于HTTP协议.避免了使用复杂的数据通讯方式. 2.避免了复杂的客户端代理. 3.直接通过URI资源定向即可把服务暴露给调用者. 下面使用一个简单的demo项目来看看啥是RESTful Wcf. 1.项目结构[VS201…
原文:WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[实现篇] 元数据的导出就是实现从ServiceEndpoint对象向MetadataSet对象转换的过程,在WCF元数据框架体系中,元数据的导出工作由MetadataExporter实现.MetadataExporter是一个抽象类型,定义了导出元数据的基本行为.WCF定义一个具体的MetadataExporter:WsdlExporter,将基于某个终结点的元数据导出生成基于WSDL的MetadataSet.我们先来…
原文:WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理[中篇] 在[上篇]中,我们分别站在消息交换和编程的角度介绍了SOAP Fault和FaultException异常.在服务执行过程中,我们手工抛出FaultException异常,WCF服务端框架会对该异常对象进行序列化病最终生成Fault消息.当WCF客户端框架介绍到该Fault消息之后,会做一项相反的操作:对Fault消息中进行解析和反序列化,重新生成并抛出FaultException异常.WCF框架自动为我们作了这么多…
WCF开发实战系列一:创建第一个WCF服务 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 在这个实战中我们将使用DataContract,ServiceContract来构建WCF服务,并使用VS2008内置的“WCFSVCHost”运行我们创建的WCF服务,并使用“WCF测试客户端”来测试我们创建的服务.在此WCF服务中我们将建立一个关于Book的服务,并实现对Book的添加.删除和检索操作. 第一步:创建“WCF服务库”“文件(F)”->“新建项目(P)...…
WCF开发实战系列二:使用IIS发布WCF服务 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 上一篇中,我们创建了一个简单的WCF服务,在测试的时候,我们使用VS2008自带的WCFSVCHost(WCF服务主机)发布WCF服务,以便进行测试.这种VS2008内置的WCFSVCHost只适用于开发人员测试的使用,能进行WCF服务部署.这一篇文章中我们来看一下如何在IIS中部发布我们上一篇中做好的WCF服务. 第一步:打开我们上一篇文章中建立的WCF服务项目. 图<…
引文:我们公司是做自己使用产品,迭代更新周期短,每次都花费较多时间和精力打包做增量更新,发现了一篇文章用于 自动构建svn增量/全量 系统程序升级包,收藏之,希望可以通过学习,更加简化我们的工作. 文章转自[http://www.cnblogs.com/hoojo/p/ant_increment_svn_diff_diffSummarize.html] 首 先请允许我这样说,作为开发或测试,你一定要具备这种本领.你可以手动打包.部署你的工程,但这不是最好的方法.最好的方式就是全自动化的方式.开发…
知道WCF的地址用工厂通道方式快速调用WCF  1 using System;  2 using System.ServiceModel;  3 using System.ServiceModel.Description;  4 using System.ServiceModel.Channels;  5   6 namespace ZhiYuan.ServiceProxy  7 {  8     public class WCFClient<T>  9     { 10  11       …