知识:WCF地址.WCF绑定 Endpoint的配置 服务的三要素(ABC) A:Address 地址 有传输方式信息 B:Binding 怎么做(与地址的传输方式要匹配) C:Contract 做什么 (服务契约) <Services> <endpoint/> /*服务和终结点*/ </Services> <bindings> <binding></binding> /*端点地址定义*/ 终结点地址由EndpointAddress…
最近用WPF启动 WCF REST 服务,发现app.config 配置好烦,简单一个exe 可以到处搬动,还非得带一个累赘配置,不小心丢了程序就跑不起来. 最后决定,砍去WCF配置项,用WebServiceHost 简单启动服务,监听端口与路径写在注册表中.WPF程序给一个配置项配置端口与路径项. [ServiceContract] public interface IHomeService { [OperationContract] [WebGet(UriTemplate = "Get/{i…
第1章 WCF简介 面向服务架构(SOA)是近年来备受业界关注的一个主题,它代表了软件架构的一种方向.顺应SOA发展潮流,微软于2006年年底推出了一种新的分布式通信框架Windows Communication Foundation,简称WCF.WCF是作为.NET Framework3.0的一个组件发布的. 1.1 SOA基本概念和设计思想 SOA就是采用Web服务的架构吗? 面向服务(Service Orientation,SO)代表的是一种设计理念,和面向对象(Object Orient…
引用就不说明,直接贴上: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.ServiceModel;using System.Configuration;using System.Collections; public class WCFServiceHelper { private static List<ServiceHost> _ServiceHo…
原文:WCF技术剖析之三十:一个很有用的WCF调用编程技巧[下篇] 在<上篇>中,我通过使用Delegate的方式解决了服务调用过程中的异常处理以及对服务代理的关闭.对于<WCF技术剖析(卷1)>的读者,应该会知道在第7章中我通过类似于AOP的方式解决了相似的问题,现在我们来讨论这个解决方案. 通过<服务代理不能得到及时关闭会有什么后果?>的介绍,我们知道了及时关闭服务代理的重要意义,并且给出了正确的编程方式.如果严格按照上面的编程方式,就意味着对于每一个服务调用,都要…
原文:[原创]WCF技术剖析之三:如何进行基于非HTTP的IIS服务寄宿 在上面一篇文章中,我们对不同版本的IIS,以及ASP.NET得的实现机制进行了详细而深入的分析.在介绍IIS7.0的时候,我们谈到,HTTP.SYS+W3SVC实现了基于HTTP的请求监听,在此基础上引入了以下三组网络监听器(Listener)和监听适配器(Adapter),实现了基于TCP.Named Pipes和MSMQ的网络监听,图1揭示了IIS7的总体结构. TCPListener|TCP Listener Ada…
原文:WCF技术剖析之三十:一个很有用的WCF调用编程技巧[上篇] 在进行基于会话信道的WCF服务调用中,由于受到并发信道数量的限制,我们需要及时的关闭信道:当遇到某些异常,我们需要强行中止(Abort)信道,相关的原理,可以参考我的文章<服务代理不能得到及时关闭会有什么后果?>.在真正的企业级开发中,正如我们一般不会让开发人员手工控制数据库连接的开启和关闭一样,我们一般也不会让开发人员手工去创建.开启.中止和关闭信道,这些工作是框架应该完成的操作.这篇文章,我们就来介绍如果通过一些编程技巧,…
二月份的开头,小编依旧继续着项目开发之路,开始接触全新的知识,EF,WCF,MVC等,今天小编来简单的总结一下有关于WCF的基础知识,学习之前,小编自己给自己提了两个问题,WCF是什么?WCF能用来做什么?WCF具有哪些优点?带着这样的问题,小编开始进行了一番搜索,一下是小编整理的结果. WCF是什么? WCF(Windows Communication Foundation)是用于构建面向服务的应用程序的框架 ,是由微软发展的一组数据通信的应用程序开发接口.根据MSDN上的定义:WCF为.Ne…
对于WCF的宿主启动来说,有好多方法,单独启动也很简单,可以根据业务需要来自由选择(单独启动方法这里就不做解释) 对于业务服务比较多的时候,往往需要多个服务来承载系统,但是如果将服务启动单独写代码启动的话,这样就造成代码的耦合,增加服务,删除服务都需要对宿主程序进行修改编译,因而就需要一个批量启动的办法 现在着重整理一下理由反射批量启动 思路:1.自定义两个属性,用于接口和实现类,一个为接口属性,一个为实现类属性 2.利用反射获取指定程序集的所有类文件,根据标记属性可以获取到那些为WCF接口和那…
WCF顾明思义,就是在Windows平台下解决通信(C,Communication)的基础框架(F,Foundation)问题. 终结点是WCF最为核心的对象,因为它承载了所有通信功能.服务通过相应的终结点发布出来,客户端通过与之匹配的终结点对服务进行调用.终结点由代表地址.绑定和契约的ABC三要素构成. 作为终结点的三要素之一的地址(Address).在基于WCF的通信中不仅仅用于定位服务,还提供额外的寻址信息.除此之外,终结点还和安全有关系,因为它包含着用于进行服务认证的服务身份信息. 目录…