使用IIS承载WCF服务
    
            
摘要:WCF学习笔记(2)——使用IIS承载WCF服务 通过前面的笔记我们知道WCF服务是不能独立存在,必须“寄宿”于其他的应用程序中,承载WCF服务的应用程序我们称之为“宿主”。WCF的多种可选宿主,其中比较常见的就是承载于IIS服务中,在这里我们来学习如何使用IIS承载WCF服务。 在前面的笔记的示例中我们使用自己创建的控制台应用程序来承载WCF服务,现在我们将使用IIS来作为这个示例程序的宿主。将IIS作为宿主只需要正确的配置好IIS就可以了,同时在IIS中运行WCF服务不需要编写任何承载代码。注意:使用IIS作为WCF服务的宿主有一个限制:只可以将 IIS 宿主与 HTTP 传输协议一起..
        
阅读全文
摘要: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是Windows平台下通讯技术的集大成者: 3.WCF的寄宿 首先W...
        
阅读全文
摘要:在最近发布的Visual Studio 2012及.NET 4.5中, 微软正式推出新的网络服务框架ASP.NET Web API。作为ASP.NET MVC 4的一部分,ASP.NET Web API这套开源框架的设计目的是简化RESTful服务的开发和使用。ASP.NET Web API 与之前的内建HTTP服务解决方案的不同之处在于,它一开始就是围绕HTTP协议及其消息语义构建起来的。与WCF REST或ASP.NET AJAX加ASMX相比,它不是对现有框架的增强,而是一个全新的平台。新的ASP.NET Web API的优势在于它汇集了之前各平台的各种最佳特性,结合为一个全面而不臃肿的
        
阅读全文
摘要:我们都知道,message是wcf通信框架进行通信的最基本的单位,但是wcf开发人员其实根本不需要直接与message打交道,一样能够写好wcf相关的程序.这是因为整个框架都为我们做好了一切,当客户端创建了连接服务端的通道之后,通过客户端的代理想服务端发送消息的时候,wcf基础结构就开始忙着在背后创建,发送,接受处理message对象的工作.发送消息的时候其实是要经历过几次转换的,从发送者角度来看包括:序列化和编码,序列化是把message对象转换为xml数据,编码是将xml数据转换为特定的数据格式,比如常见的二进制格式.从服务端的角度看正好相反所以,从今天晚上开始进入message对象的学习
        
阅读全文
摘要:一、概述 Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口,它是.NET框架的一部分。由 .NET Framework 3.0 开始引入。 WCF的最终目标是通过进程或不同的系统、通过本地网络或是通过Internet收发客户和服务之间的消息。 WCF合并了Web服务、.net Remoting、消息队列和Enterprise Services的功能并集成在Visual Studio中。 WCF专门用于面向服务开发。二、基于Asp.net 的应用程序开发与面向服务开发 在基于Asp....
        
阅读全文
摘要:在上一篇随笔中,搭建了一个寄宿于控制台项目的wcf服务和客户端.今天晚上时间比较充裕,看了下wcf的消息交换模式,主要分为请求应答应答模式,就是平时说的半双工.还有一种交换模式为双工消息交换模式.就是我们说的全双工. 半双工通信只需要一个契约,因为是请求应答模式,只有一个情况,那就是客户端发送请求,服务端相应,一个契约足够....而全双工就不同了..客户端可以调用服务端,反过来服务端也能调用客户端...那么这就需要两个服务契约,其中一个便是回调契约.CallBackContract~~~ 为了方便起见,我还是在原来的代码上进行了修改,因为是双向通信,这其中就要存在一个会话,原来的绑定模式...
        
阅读全文
摘要:从刚开始工作到现在,也有一年半了...期间读了不少与技术相关的书籍,但是之前总是一味的去看,很少动手,从去年的11月份开始学习wcf,手上的资料也不少,看得倒是很多,但是由于自己是个新人,要把这个通讯框架搞懂还真是有点困难,买了本<wcf技术内幕>,感觉这本书讲得很深撒...从开始学习到现在基本上是第三遍了,第一遍基本上算是走过场了,里面很多东西对于我这个菜鸟来说简直!@#$%......第二遍,结合目前正在做的项目,算是有点眉目了,现在是第三遍,觉得收获真是不少,所以打算边看边记录下来..下面进入正题. wcf最主要的目的是为了通讯,那么就为了实现简单的通讯,我建了两个简单的项目
        
阅读全文
摘要:前一篇我们演示了基于SSL的WCF 对客户端进行用户名和密码方式的认证,本篇我们演示一下服务器端对客户端采用X.509证书的认证方式是如何实现的。项目结构及服务代码和前两篇代码是基本一样的,为了大家看着方便,再从头到尾进行一下演示。一、制作证书:本次制作证书和第一篇略有不一样,主要为了演示证书的信任链关系,我们首先创建一个证书作为证书认证中心(CA)的根证书,我们还是利用MakeCert命令创建。在“开始”菜单中打开—>Microsoft Visual Studio 2010->Visual Studio 命令提示。输入:makecert -n "CN=LXCA"
        
阅读全文
摘要:上文我们演示了,客户端对服务器端身份的验证,这一篇来简单演示一下对客户端身份的验证。比如我们发布的服务,只想让若干客户端调用和访问。这种情况应该怎么做呢,这就是今天要演示的客户端认证。对客户端的认证基本分为三种:1、 windows 身份验证2、 用户名密码方式验证3、 证书认证我们今天主要用第二种方式来对客户端进行验证。WCF的传输安全中,HttpClientCredentialType 提供了6种客户端凭证来体现服务端对客户端的认证方式,(以下对6种认证方式的解释,摘自蒋金楠《WCF技术剖析》):None: 客户端无须指定用户凭证,即匿名认证。Basic:采用Basic认证方式对客户端进行
        
阅读全文
摘要:定义在Controller中的Action方法大都返回一个ActionResult对象。ActionResult是对Action执行结果的封装,用于最终对请求进行响应。ASP.NET MVC提供了一系列的ActionResult,它们本质上是通过怎样的方式来响应请求的呢?这是这个系列着重讨论的主题。[本文已经同步到《How ASP.NET MVC Works?》中]目录一、ActionResult对请求的响应二、EmptyResult三、ContentResult四、实例演示:执行返回类型为非ActionResult的Action方法得到的ActionResult对象五、实例演示:通过Cont
        
阅读全文
摘要:一. 前言 前一章,我们介绍了如何使用WCF的项目模板来构建WCF服务,使用这种方式,我们在调试的时候可以不用构建宿主服务程序,可以延期至发布软件。接下来我们将利用[类库]项目模板来构建服务,这种方式可以使我们更好的理解WCF服务,同时更随意的构建。我们总结出实现过程如下: 1. 构建服务主体(定义契约,实现服务类型,配置终结点); 2. 创建服务宿主程序(承载服务) 3. 创建客户端程序(SvcUtil.exe生成客户端代理类,供客户端调用服务); 在本例程中,我们依然使用计算器服务[这个例子比较经典],提供了四种操作:加、减、乘、除。二. 构建服务主体 1. 在构建WCF服务时,我们一..
        
阅读全文
摘要:我希望能用连续的几篇博文,记录下自己学习WCF的过程,同时也为了能和大家一起交流分享自己学习WCF的心得。本人最为“痛恨”那种满口专业术语讲技术概念的人。如果学习所有的技术都要先被大量技术名词搞晕掉,那学习实在是太痛苦了。我见识过这样的一本书:当你随意翻开一页,随意找出一段读一读,会发现根本不知道作者在讲什么,因为全是难懂的技术名词和概念。遇到这种情况,英文再差的人宁可去读英文资料。我崇尚的技术教学或交流是通俗易懂的。不论多么复杂的新/旧技术,能简单的一定简简单单的讲出来。做到这一点其实不难,个人认为,作者只需用自己的话来讲就完全可以,越是照搬学术的东西,“貌似权威的”,却是缺少大众亲和力。毕
        
阅读全文
摘要:WCF入门程序设计与实现1、首先我们先新建一个空白的解决方案MyFirstWCF(如下图)2、在解决方案下创建一个类库MyWCF_Server(如下图)(1)、删除Class1.cs(2)、添加引用System.ServiceModel(3)、添加一个接口IMyMathod.cs,代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.ServiceModel; namespace MyWCF_Server{ [ServiceContract] ...
        
阅读全文
摘要:今天在工作中遇到这样一个问题,让我头疼了半天,最后头疼不能让人屈服,问题还是被我征服了.先展示一下错误,看看你们有木有遇到过:造成这种结果的原因有这么几个: 1. 服务地址不正确; 2. 服务没有运行; 3.netTcpBinding和endpoint节点未设置,这是在存在app.config的情况下才有可能的;一一排除吧,前两个都没有问题,然后就开始baidu,google"元数据包含无法解析的引用","读取XML数据时,超出最大名称表字符计数配额(16384)",这样查没有结果啊,网上的千篇一律,说改什么配置文件,问题是我现在都没有加上引用呢,何来的
        
阅读全文
摘要:壮士断腕(WCF Web API),为的是 ASP.NET Web API 的横空出世,再加上它的开放(开源),于是对之产生了一点点痴情,并写下了HttpClient + ASP.NET Web API, WCF之外的另一个选择。那时,ASP.NET Web API 还处于 beta 阶段,俗话说女大十八变,自然对 ASP.NET Web API RC 产生了憧憬。。。ASP.NET Web API RC 闪亮登场之后,还未一睹庐山真面目,就有人陆陆续续反馈之前博文中的示例代码在ASP.NET Web API RC 版中无法正常运行。其间,我们有一个使用了ASP.NET Web API 的项目
        
阅读全文
摘要:一步步教你创建.NET 4服务并且寄宿在IIS 7.5中2012-07-12 18:36 by lazycoding, 614 阅读,8评论,收藏,编辑本文译自Walkthrough on creating WCF 4.0 Service and Hosting in IIS 7.5最近在学习WCF的时候。寄宿IIS7.5这部分总是搞不定。搜了很长时间。发现也是很多文章也是人云亦云。根本通不过。于是组合了一下关键字,搜了一下英文的文章。总算是搞定了。目标本文将会一步步教给你怎么样创建一个基本的 WCF 4.0 服务?怎么样把WCF服务寄宿在IIS 7.5?客户端如何测试服务可用创建WCF服务创
        
阅读全文
摘要:使用Spring.Net+NHibernate构建WCF应用在企业级应用开发中,利用合适的框架针对不同项目构建相应的应用。Spring.Net作为Spring的.Net版本,具有很强大的应用。如:作为IoC容器、AOP处理框架、与NHibernate的集成、Spring.Net发布WebService\WCF服务等。而NHibernate作为一个优秀的ORM框架也广受开发者的青睐。本文将通过Spring.Net+NHibernate来构建WCF应用。本文要点:Spring.Net与NHibernate的集成应用Spring.Net注入WCFEntity与DTO对象之间的转化先上一张结构图:正式
        
阅读全文
摘要:WCF初见之SQL数据库的增删改查1.首先要连接数据库,自然要有数据库啦,创建一个数据库表Login,并插入一个数据:--创建数据库表loginCREATE TABLE Login ( UName VARCHAR(20) PRIMARY KEY NOT NULL, UPassword VARCHAR(30) NOT NULL, UState INT DEFAULT'0' NOT NULL)--查询Login表SELECT * FROM LoginSELECT UName,UPassword FROM Login--插入数据INSERT INTO Login(U...
        
阅读全文
摘要:昨天终于下定决心计划这个月要把WCF学完,之所以安排一个月的时间,我不要只是学些表面的东西,我要比较深入的去学习下它。如果只学些表面的东西,我想一般的人花个一周的时间就够了。最近一段时间想要学的东西感觉太多了,想学习下Silverlight、WPF、WCF、MVC等,但总感觉好像很忙似的,我也不知道我在忙些什么,就这样稀里糊涂的一天就过去,一事无成。昨天晚上终于想起了5月份写的一个计划规则,还是按照这个计划规则去写每天的计划、日记、月计划。这样每天做了些什么,每天应该做些什么,目标很明确,再也不会像以前那样,想学Silverlight、WPF、WCF、MVC等,一会儿想看下Silverli..
        
阅读全文
摘要:WCF开发框架的证书加密操作,前面在框架之旅做了一篇介绍,本文主要是将各种相关知识点综合起来进行介绍,以期达到系统化介绍在我的WCF开发框架(也可以应用于您的WCF框架)中使用证书加密的常规操作和步骤。在WCF应用日益广泛的环境下,注意数据的安全性以及系统稳定性的问题,是我们设计初期必须考虑的重要举措之一,特别对一些行业比较敏感的数据或者重要机关的数据,这个是一个硬性规定的前提条件之一。在WCF开发框架中,应用X.509证书加密可以解决这个问题,但是要使用这个东西,我们必须对相关的知识点有所了解,然后对相关的配置进行设置,才能正常进行使用。1、 证书加密应用背景在网络化的环境中,特别是基于互联
        
阅读全文