每天进步一点--WCF学习笔记】的更多相关文章

最近买了一本书WCF服务编程,重头再开始了解学习WCF,现将学习记录,以便后来复习,也希望和大家一起进步. WCF用终结点表示一种组成关系,终结点就是地址.契约与绑定的混合品,即 地址(Address).契约(Contract).绑定(Binding). 以一个小例子来,调通我们的第一个WCF程序.我学习就爱用Demo来学习,再深入一步一步学习. 我用的vs2012,新建WCF服务应用程序 运行后显示 这是WCF的服务端,我们先不做处理,下面我们添加WCF客户端,我们添加一个普通的控制台程序 添…
WCF学习笔记之事务编程 一:WCF事务设置 事务提供一种机制将一个活动涉及的所有操作纳入到一个不可分割的执行单元: WCF通过System.ServiceModel.TransactionFlowAttribute特性定义在契约的相应操作方法上: TransctionFlowOption三个选项:NotAllowed.Allowed.Mandatory不同的事务流转策略: 1:NotAllowed(默认) 客户端的事务不会允许被流转到服务端,服务端也不会试图去接收流入的事务: 2:Allowe…
WCF学习笔记之传输安全 最近学习[WCF全面解析]下册的知识,针对传输安全的内容做一个简单的记录,这边只是简单的记录一些要点:本文的内容均来自[WCF全面解析]下册: WCF的传输安全主要涉及认证.消息一致性和机密性三个主题:认证是双向认证(服务端与客户端互认证):一致性传输内容不被篡改:机密性不被乱读取: 三个安全行为:认证.授权.审核 WCF两种安全模式:Transport安全模式.Message安全模式 (1)Transport安全模式 优点:比Message高性能  局限:依赖具体的传…
WCF 学习笔记之异常处理 1:WCF异常在配置文件 <configuration> <system.serviceModel> <behaviors> <serviceBehaviors> <behavior name="serviceDebuBehavior"> <serviceDebug includeExceptionDetailInFaults="true" /> </behav…
WCF 学习笔记之双工实现 其中 Client 和Service为控制台程序 Service.Interface为类库 首先了解契约Interface两个接口 using System.ServiceModel; using System.ServiceModel.Channels; namespace Artech.WcfServices.Service.Interface { [ServiceContract(Namespace = "http://www.artech.com/"…
通过前面的笔记我们知道WCF服务是不能独立存在,必须“寄宿”于其他的应用程序中,承载WCF服务的应用程序我们称之为“宿主”.WCF的多种可选宿主,其中比较常见的就是承载于IIS服务中,在这里我们来学习如何使用IIS承载WCF服务. 在前面的笔记的示例中我们使用自己创建的控制台应用程序来承载WCF服务,现在我们将使用IIS来作为这个示例程序的宿主.将IIS作为宿主只需要正确的配置好IIS就可以了,同时在IIS中运行WCF服务不需要编写任何承载代码. 注意: 使用IIS( IIS 5.1 和 IIS…
关于WCF的入门网上资料很多,可以参考蒋金楠老师的博客http://www.cnblogs.com/artech/archive/2007/02/26/656901.html,我是从这篇博客开始学习的,下面会引用蒋老师博客中的代码示例.这里阶段性总结一下WCF中配置文件的使用.对服务进行寄宿时,需要配置服务的信息,一种方法是使用代码,另一种方式是使用配置文件.使用代码有助于理解,单每发布一个服务都要写一堆代码,使用配置文件可以简化代码,但初学者看到会稍微觉得复杂.好在理解WCF的原理后,我们可以…
1.什么是WCF Windows Communication Foundation(WCF)是一个面向服务(SOA)的通讯框架,作为.NET Framework 3.0的重要组成部分于2006年正式发布.WCF的使命是对Windows平台下现有的通讯技术(包括:COM.DCOM..NET Remoting.Web Services.MSMQ.WinSocket)进行全面整合,并设计了一个统一的程序开发模型(API),对于数据通信提供了最基本最有弹性的支持. 2.WCF的体系结构 我们从下面WCF…
一.WCF的定义 WCF是.NET 3.0后开始引入的新技术,意为基于windows平台的通讯服务. 首先在学习WCF之前,我们也知道他其实是加强版的一个面向服务(SOA)的框架技术. 如果熟悉WebService就会知道WebService是基于XML+XSD,SOAP和WSDL三大技术,当然他也是采用HTTP协议的通信,严格来说WebService是一种面向服务开发的标准.而ASP.NET WebService则是微软平台下的服务. WCF其实一定程度上就是ASP.NET Web Servi…
近日学习WCF,找了很多资料,终于找到了Artech这个不错的系列.希望能从中有所收获. 本文用于记录在学习和实践WCF过程中遇到的各种基础问题以及解决方法,以供日后回顾翻阅.可能这些问题都很基础,可是对于新手来说,在没有经验的情况下有时候很难找到解决办法.反正这些问题是真的困扰了我一些时间的.若能为其他新手所用,也是我的荣幸. 博文系列地址:<我的WCF之旅>博文系列汇总 我的WCF之旅(1):创建一个简单的WCF程序 1. 照葫芦画瓢的把第一个简单的WCF程序做出来运行之后(设置Hosti…
最近一直在学习WCF相关知识:本文章将针对并发与限流知识进行一个梳理,由于很多理论的知识所以做一个简单的记录,为今后回顾做一个记录: 一:并发知识 WCF将服务实例封装在一个称为实例上下文的对象中,并发是指同一个服务实例上下文同时处理多个服务调用请求: WCF提供三种不同的实例上下文模式分别为:Per-Call,Per-Session和Single WCF并发属于服务自身的行为:因此通过服务行为[ServiceBehavior(ConcurrencyMode=ConcurrencyMode.Si…
Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台. 整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有Http和Ftp的相关技术. 是Windows平台上开发分布式应用最佳的实践方式. 简单的归结为四大部分 1>.网络服务的协议,即用什么网络协议开放客户端接入. 2>.业务服务的协议,即声明服务提供哪些业务. 3>.…
在WCF通信中,有三种消息交换模式,OneWay(单向模式), Request/Reponse(请求回复模式), Duplex(双工通信模式)这三种通信方式.下面对这三种消息交换模式进行讲解. 1. OneWay模式, [ServiceContract] public interface IOneWayService { [OperationContract(IsOneWay = true)] void Add(double x, double y); } 需要在OperationContrac…
这篇博客将介绍WCF的最基础内容,让我们对WCF有一个基本的认识.后续的博客中将会介绍WCF其他方面内容.本篇博客将通过一个简单的例子,介绍如何创建WCF服务,并承载这个服务,让客户端来访问它.下面请看项目结构. Client与Hosting是控制台程序,Hosting工程需要添加Contract,Service工程和System.ServiceModel名称空间.Contract工程是类库工程,需要添加System.ServiceModel名称空间,Service工程也是类库工程,需要添加Co…
统一资源标识(URI) URI:Uniform Resource Identifier(统一资源标识),唯一地标识一个网络资源的同时也表示资源所处的位置的方式(资源访问所用的网络协议). URI结构: [传输协议(Scheme)]://[主机名|域名|IP地址]:[可选端口]/[资源路径] HTTP/HTTPS HTTP:HyperText Transfer Protocol(超文本传输协议),建立在TCP/IP簇上的应用层协议.由于其简单.易用的特性,已经是成为事实上Internet标准. H…
通过<WCF全面解析>来知识分享....感谢蒋金楠老师@Artech 一.VS中构建解决方案   Client一个控制台程序模拟的客户端,引用Service.ServiceModel.dll Hosting是服务宿主的控制台程序,主要引用Service.Interface和和Service.ServiceModel.dll Service用于定义服务类型的类库项目,引用Service.Interface Service.Interfce用于定义服务契约的类库,主要引用了Service.Serv…
1,关于WCF/web service/WSE Web Service:是行业标准,也就是Web Service 规范,也称作WS-*规范,既不是框架,也不是技术.它有一套完成的规范体系标准,而且在持续不断的更新完善中.它使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键). WSE:微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间的数据交互.WSDL来实现服务接口相关的描述.后来微软做了ASP.NET Web…
WCF是什么? 官方解释: Windows Communication Foundation (WCF) 是用于构建面向服务的应用程序的框架.借助 WCF,可以将数据作为异步消息从一个服务终结点发送至另一个服务终结点. 服务终结点可以是由 IIS 承载的持续可用的服务的一部分,也可以是应用程序中承载的服务.终结点可以是从服务终结点请求数据的服务客户端.简单消息可以是作为 XML 发送的单个字符或单个单词,复杂消息可以是二进制数据流. 网络收集: Windows通信基础(Windows Commu…
URI的全称是 Uniform Rosource Identifire(统一资源标识),它唯一标识一个确定的网绐资源,同时也表示资源所处的位置及访问的方式(资源访问所用的网络协议). 对于EndpointAddress中URI来说,该资源就是服务本身.URI具有如下的结构: [传输协议(Scheme)]://[主机名称|域名}IP地址]:[可选端口]/[资源路径] WCF中经典传输协议下的URI 1.HTTP URI 和 HTTPS URI 例如:http://127.0.0.1/service…
WCF是实现WebService的一种微软提出的技术,整合了.Remote, .NET及ASP.NET服务的一种框架.是Windows Communication Foundation的缩写.WebService就是分布式应用程序间实现互操作性的一种标准.它与语言和平台无关,你可以使用任务语言编写发布到任何平台.它在底层通过SOAP协议来传送数据. WebService必须包含的几个要素: Address – 地址,也就是在哪找到该服务.地址必须唯一. Binging – 绑定协议,即通过什么方…
转:http://www.cnblogs.com/wengyuli/archive/2009/11/08/1598428.html 一个通信会话过程有两个部分组成,客户端和服务端,他们要进行会话就必然有共同的语言约定,在WCF中这称为契约(contract),定义好通信的约定后,服务端需要确定服务的具体内容,即为配置.运行服务.开放终结点.客户端描述如何从 WCF 服务检索用于创建 WCF 客户端的元数据. 第一.建立契约  代码…
转:http://www.cnblogs.com/wengyuli/archive/2009/11/04/1595693.html MSDN上关于WCF给出如下注解: 设计 Windows Communication Foundation (WCF) 的目的是为分布式计算提供可管理的方法,提供广泛的互操作性,并为服务定位提供直接的支持. 说的很清楚,同一管理分布式通信,广泛的互操作,服务定位.这是WCF出现的目的. 说到底,微软还是想简化开发方法,(MSMQ).COM+.ASP.NET Web…
WCF  Windows Communication Foundation 分布式通信框架.WCF是对现有分布式通信技术的整合.是各种分布式计算的集大成者.主要整合技术如下图: WCF的服务不能孤立的存在,需要寄宿于一个运行着的进程中,我们把承载WCF服务的进程称为宿主,为服务指定的宿主的过程称为服务寄宿.自我寄宿和IIS寄宿两种服务寄宿方式.如下图: 从功能上讲,服务契约抽象了服务提供的所有操作:而站在消息交换的角度来看,服务契约则定义了基于服务调用的消息交换过程中请求消息和回复消息的结构.通…
一.准备 这里涉及到三个文件,现在只是简单的把代码贴出来,后面再详细的讲一下. 三个文件分别是(都是wcf服务应用程序项目下的): 1.IService1.cs 2.Service1.svc 3.Web.config wcf的契约文件:IService1.cs using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.Ser…
wcf服务的细节: 1.新建项目的时候有wcf服务应用程序和wcf服务库,两者区别在于前者可以寄宿在IIS上,而后者只能给其他项目使用,可以寄宿在控制台程序.窗体程序等等. 相关定义的链接 http://www.cnblogs.com/iamlilinfeng/archive/2012/10/01/2706353.html 2.部署在IIS后,通过IIS的内容视图,获取指定SVC文件的访问地址,然后在客户端引用服务中填入该地址,可以自定义命名空间. 3.<serviceHostingEnviro…
可靠会话传输需要解决两个问题:重复消息和无序交付:制定WS-RM的一个主要目的就是实现一种模块化 的可靠消息传输机制:WS-RM两个版本(WS-RM1.0和WS-RM1.1): WCF中整个可靠会话的实现完全是通过ReliableSessionBindingElement这个绑定元素创建的信道实现的: AcknowledgementInterval:如果消息的发送方和接收方通过双工通道连接,接收方能够随时向接收方发送确认.在这种情况下,为了降低网络流量,WCF采用批量确认的机制.也就是说,当接收…
Windows Communication Foundation (WCF) 是用于构建面向服务的应用程序的框架.借助 WCF,可以将数据作为异步消息从一个服务终结点发送至另一个服务终结点.服务终结点可以是由 IIS 承载的持续可用的服务的一部分,也可以是应用程序中承载的服务.终结点可以是从服务终结点请求数据的服务客户端.简单消息可以是作为 XML 发送的单个字符或单个单词,复杂消息可以是二进制数据流.一些示例方案包括: 处理企业事务的安全服务. 将当前数据提供给其他服务(例如流量报告或其他监视…
一.WCF中的ABC 场景:公司让你送一份合同文件,送文件的过程你可以选择的交通方式有打的,地铁或公交. 到了对方公司后,你要找到某负责人,并且要一份收到合同文件的回执和相应文件 要完成这项工作任务主要以下几个步骤 1.知道对方公司的地址 即WCF中的A,通过Address我们可以找到我们要调用的WCF服务 2.选择交通方式 即WCF中的B,通过Binding来实现Client和Service通讯的所有底层细节. 传输采用什么编码,传输使用什么协议,等等 3.到了对方公司我们能做哪些事 即WCF…
一.开发环境 IDE:VS2013 OS:Win10 IIS:IIS 10 二.开发流程 1.项目结构 2.添加一个WCF程序 3.删除系统自动生成的两个文件IService1.cs和Service1.svc 4.添加自定义的WCF服务文件 5.在IUser.cs文件中,定义方法名 注: [ServiceContract]来说明是一个WCF接口,不加的话,不能被外部调用 [OperationContract]来说明该方法是一个WCF接口的方法,不加不能被外部调用 namespace WCFSer…
项目中如果 EF + WCF 结合使用,模式应该是EF负责读取数据库,传递数据对象给WCF,WCF再将这些对象传送给客户端.因为WCF传送的对象需要序列化,而EF默认生成的对象并没有序列化,很可能会出现EF传过来的类对象,WCF里面要再定义一次,加上序列化特性.属性明明一样,但还是需要转换:遍历.赋值,太浪费了. 一种解决的方案是,让EF生成的序列化的实体类. 这样就需要修改EF的模板. 1.在VS2012中,首先我们要下载一个模板 EF 5.x DbContext Generator with…