So far I’ve talked about the standards behind it all,but in fact WCF hides most of this from the developer by providing a programming interface for designing service contracts and controlling the message format. Application messaging requirementsare…
A data contract describes how CLR types map to XSD schema definitions. Data contracts are the preferred way to enable serialization of complex types included in operation signatures as parameters or return values. You create a data contract by applyi…
A service contract describes the operations supported by a service,the message exchange pattern they use,and the format of each message. The service contract is also the main driver for generating a service description. A valid WCF service implements…
In Chapter 1,you were introduced to fundamental WCF concepts,      在章节1中,学习了wcf中的基础概念including how to create and consume a service,           包括如何创建以及调用服务how to host a service and expose endpoints where it can be reached by clients,    如何托管服务,使得客户端可以…
WCF中的Contracts WCF通过Contract来说明服务和操作,一般包含五种类型的Contract:ServiceContract,OperationContract,FaultContract,DataContract,MessageContract. 1.ServiceContract ServiceContract向外部暴漏了可以提供的服务接口,它可以包含服务名称.命名空间等服务器端的配置信息. 1: [ServiceContract] 2: interface IMyContr…
WCF ServicesWCF services are the new distributed boundary in an enterprise application—with an emphasis on SOA. In the past,you had to deliberate between Enterprise Services,.NET Remoting,or ASMX to distribute and reuse functionality,WCF provides you…
引言 WCF是微软为了实现SOA的框架,它是对微乳之前多种分布式技术的继承和扩展,这些技术包括Enterprise Service..NET Remoting.XML Web Service.MSMQ等.WCF推出的原因在于:微软想将不同的分布式技术整合起来,提供一个统一的编程模型,这样对于开发者来说绝对是好事.在过去的2个月时间内,我陆续写了WCF系列文章,这些文章只是自己这段时间学习WCF内容的一个学习过程和笔记,希望通过这种写博文的方式记录下来和总结.本系列并没有对WCF机制做一个深入解析…
While messaging protocols are responsible for message serialization formats,there must be a way to capture the protocols required to communicate between clients and services. In Chapter 1,you worked with WSDL documents,which describe the requirements…
一.引言 在前面博文介绍到,WCF的契约包括操作契约.数据契约.消息契约和错误契约,前面一篇博文已经结束了操作契约的介绍,接下来自然就是介绍数据契约了.所以本文要分享的内容就是数据契约. 二.数据契约的介绍 在WCF中,服务契约定义了可供调用的服务操作方法,而数据契约则是定义了服务端和客户端之间传送的自定义类型,在WCF项目中,必不可少地是传递数据,把客户端需要传递的数据传送到服务中,服务接收到数据再对其进行处理.然而在WCF中,传递的类型必须标记为DataContractAttribute属性…
转载地址:http://www.cnblogs.com/lxblog/archive/2012/09/20/2695397.html 前一篇我们演示了基于SSL的WCF 对客户端进行用户名和密码方式的认证,本篇我们演示一下服务器端对客户端采用X.509证书的认证方式是如何实现的. 项目结构及服务代码和前两篇代码是基本一样的,为了大家看着方便,再从头到尾进行一下演示. 一.制作证书: 本次制作证书和第一篇略有不一样,主要为了演示证书的信任链关系,我们首先创建一个证书作为证书认证中心(CA)的根证书…
转载地址:http://www.cnblogs.com/lxblog/archive/2012/09/13/2683514.html 这一篇我们利用上一篇制作的证书,来演示一个基于SSL的WCF服务,客户端需要验证服务器端的身份,服务器端不对客户端进行任何验证,即匿名客户端. 一.项目结构 为了演示方便,把项目分成了6层,首先说明一下项目的结构: 程序集名称 引用 简单说明 Client1   控制台客户端1,调用采用控制台自宿主的WCF Client2   控制台客户端2,调用采用IIS宿主的…
一.引言 在前面的WCF服务中,它都要求服务与客户端两端都必须启动并且运行,从而实现彼此间的交互.然而,还有相当多的情况希望一个面向服务的应用中拥有离线交互的能力.WCF通过服务队列的方法来支持客户端和服务之间的离线工作,客户端将消息发送到一个队列中,再由服务对它们进行处理.下面让我们具体看看WCF中的队列服务. 二.WCF队列服务的优势 在介绍WCF队列服务之前,首先需要了解微软消息队列(MSMQ).MSMQ是在多个不同应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布在同一台机器…
http://www.tutorialspoint.com/wcf/wcf_creating_service.htm Creating a WCF service is a simple task using Microsoft Visual Studio 2012. Given below is the step-by-step method for creating a WCF service along with all the requisite coding, to understan…
一.前言 最近忙于公司的在线升级项目,一个人要负责公司四大产品的在线升级,这四个产品是在Revit中以插件形式存在的,目前基于WCF来实现.等客户总量突破5万了,再重新用socket实现. 由于有服务器并发操作,所以要好好研究WCF的InstanceContext与ConCurrencyMode,找了好多文章,都没这篇写的言简意赅,特转发保留. 二.原文内容 原作者版权信息**************************************************************…
1.WCF中可靠性会话在绑定层保证消息只会被传输一次,并且保证消息之间的顺序.当使用TCP(Transmission Control Protocol,传输控制协议)通信时,协议本身保证了可靠性.然而,它只在两点之间的网络包这个层面提供了这样的保证.WCF的可靠性会话特性保证了在传输过程中消息不会丢失.重复或错位.这种保证是消息层面的,而且适用于任何数目节点的通信.另外,使用可靠性会话时,WCF会重连掉线的连接,在重连失败时还会释放会话占用的相关资源.可靠性会话还会通过调整消息的发送频率来缓解网…
转载地址:http://www.cnblogs.com/lxblog/archive/2012/09/18/2690719.html 上文我们演示了,客户端对服务器端身份的验证,这一篇来简单演示一下对客户端身份的验证.比如我们发布的服务,只想让若干客户端调用和访问.这种情况应该怎么做呢,这就是今天要演示的客户端认证. 对客户端的认证基本分为三种: 1.  windows 身份验证 2.  用户名密码方式验证 3.  证书认证 我们今天主要用第二种方式来对客户端进行验证. WCF的传输安全中,Ht…
转载地址:http://www.cnblogs.com/lxblog/archive/2012/09/12/2682372.html 一.WCF中的安全方式 说到安全就会涉及到认证,消息一致性和机密性,WCF的安全方式分为两种,即传输安全和消息安全. 传输安全和消息安全的区别:传输安全提供点对点的安全: 比如 A 提供服务,B和C直接连接到A,这时候A与B 及 A与C直接的传输是安全的,如果B通过C连接到A,那么A与B直接是安全的,B与C之间是不安全的.消息安全:是把安全机制都应用在消息级别上面…
1.(服务端)抛出和(客户端)捕获SOAP Fault 当我们需要客户端获取到WCF服务端的抛出的异常的时候,使用FaultException类 WCF类库在System.ServiceModel命名空间下提供了FaultException类.如果WCF服务抛出FaultException对象,WCF运行时将生成SOAP fault消息并回传给客户端程序. 服务端抛出异常 catch (Exception ex) { if (ex.InnerException is System.Data.Sq…
通过<WCF全面解析>来知识分享....感谢蒋金楠老师@Artech 一.VS中构建解决方案   Client一个控制台程序模拟的客户端,引用Service.ServiceModel.dll Hosting是服务宿主的控制台程序,主要引用Service.Interface和和Service.ServiceModel.dll Service用于定义服务类型的类库项目,引用Service.Interface Service.Interfce用于定义服务契约的类库,主要引用了Service.Serv…
这是我参考的主要资料——wcf学习之旅:http://www.cnblogs.com/artech/archive/2007/02/26/656901.html 首先,如博客上介绍的一样,创建空白的项目解决方案:两类库(Sercive.Constract),两控制台(Client,Host.前者模拟客户端调用服务方法:后者实现服务的寄宿).下面分别介绍这四个添加项目: 1.Constract.服务契约,引用System.ServiceMode程序集.把Constract放在前面介绍,是因为WCF…
一.引言 要将Rest与.NET Framework 3.0配合使用,还需要构建基础架构的一些部件.在.NET Framework 3.5中,WCF在System.ServiceModel.Web组件中新增了编程模型和这些基础架构部件. 新编程模型有两个主要的新属性:WebGetAttribute和WebInvokeAttribute,还有一个URI模板机制,帮助你声明每种方法响应使用的URI和动词..NET Framework还提供了一个新的绑定(WebHttpBinding)和新的行为(We…
一.引言 好久没更新,总感觉自己欠了什么一样的,所以今天迫不及待地来更新了,因为后面还有好几个系列准备些,还有很多东西需要学习总结的.今天就来介绍下WCF对事务的支持. 二.WCF事务详解 2.1 事务概念与属性 首先,大家在学习数据库的时候就已经接触到事务这个概念了.所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单元.例如,银行转账功能,这个功能涉及两个逻辑操作 从一个账户A中扣钱 另一个账户B增加对应的钱. 现实生活中,这两个操作需要要么都执行,要么都不…
一.引言 在上一篇文章中介绍了WCF对Session的支持,在这篇文章中将详细介绍WCF支持的操作.在WCF中,除了支持经典的请求/应答模式外,还提供了对单向操作.双向回调操作模式的支持,此外还有流操作的支持.接下来将详细介绍下这几种操作,并实现一个双向回调操作的例子. 二.WCF操作详解 2.1 请求—应答操作 请求应答模式是WCF中默认的操作模式.请求应答模式指的是:客户端以消息形式发送请求,它会阻塞客户端直到收到应答消息.应答的默认超时时间为1分钟,如果超过这一时间服务仍然没有应答,客户端…
一.引言 由前面几篇博文我们知道,WCF是微软基于SOA建立的一套在分布式环境中各个相对独立的应用进行交流(Communication)的框架,它实现了最新的基于WS-*规范.按照SOA的原则,相对独自的业务逻辑以Service的形式进行封装,调用者通过消息(Messaging)的方式来调用服务.对于承载某个业务功能实现的服务应该具有上下文(Context)无关性,意思就是说构造服务的操作(Operation)不应该绑定到具体的调用上下文,对于任何的调用,具有什么的样输入就会对应怎样的输出.因为…
URI的全称是 Uniform Rosource Identifire(统一资源标识),它唯一标识一个确定的网绐资源,同时也表示资源所处的位置及访问的方式(资源访问所用的网络协议). 对于EndpointAddress中URI来说,该资源就是服务本身.URI具有如下的结构: [传输协议(Scheme)]://[主机名称|域名}IP地址]:[可选端口]/[资源路径] WCF中经典传输协议下的URI 1.HTTP URI 和 HTTPS URI 例如:http://127.0.0.1/service…
WCF services allow other applications to access or consume them. A WCF service can be consumed by many ways depending on the hosting type. Here, we are explaining the step-by-step method to consume a WCF service for each of the following popular host…
After creating a WCF service, the next step is to host it so that the client applications can consume it. This is known as WCF service hosting. A WCF service can be hosted by using any of the four ways given below: 在创建wcf服务后,下一个步骤就是托管该服务,确保客户端应用可以使用它…
一.WCF简介 1.什么是WCF? WCF的全称是:Windows Communication Foundation.从本质上来说,它是一套软件开发包,是微软公司推出的符合SOA思想的技术框架. 2.WCF中包括哪些东西? WCF为程序员提供了丰富的功能,其中包括:托管.服务实例管理.异步.安全.事务管理.离线队列等.并且WCF对产业中的标准协议进行了封装和定义, 它把程序员从繁琐的通信.格式编码中解放出来,使得程序员能够专注于业务逻辑的实现.同时,WCF统一了微软公司之前推出的多种分布式技术,…
[MY NOTE] Translate Source:http://www.dotnettricks.com/learn/webapi/difference-between-wcf-and-web-api-and-wcf-rest-and-web-service Web Service 1.基于SOAP协议,以XML格式返回数据. 2.只支持HTTP协议. 3.不开源,能用于所有能解析XML的客户端. 4.只能寄宿在IIS上面. WCF 1. 也是基于SOAP协议,以XML格式返回数据. 2.是…
WCF程序中客户端要生成代理才能调用服务,在客户端生成代理有多种方式,如用ChannelFactory和添加服务引用等.下面就分别来介绍下这两种生成代理的方式. 使用ChannelFactory 使用ChannelFactory创建代理需要的条件 服务端点的地址,即在宿主中用程序设置的或是配置文件中设置的. 服务端点的绑定协议. 服务契约的元数据,可以将服务契约复制一份到客户端或是在客户端添加对服务的引用. 下面的代码示例为通过ChannelFactory手动创建代理 EndpointAddre…