SOA研究室最新随笔RSS
 
摘要: ASP.NET的输出缓存(Output Caching)机制允许我们针对整个Web页面或者页面的某个部分(主要针对用户控件)最终呈现的HTML进行缓存。对于后续针对相同资源的请求,只需要直接将缓存的HTML予以回复而无须按照页面处理生命周期对每次请求进行重复处理。WCF通过操作行为AspNetCacheProfileAttribute利用ASP.NET的输出缓存提供一种针对于某个操作的声明式缓存机制。 阅读全文
2012-02-10 08:58 作者: Artech【评论:12】【阅读:1485】 
摘要: REST服务采用面向资源的架构,而资源通过URI进行标识和定位,所以URI在REST中具有重要的地位。对于WCF来说,服务调用请求的URI映射为某个具体的操作,所以服务端需要解决的是如何根据请求URI选择出对应的操作。如果采用SOAP,操作的选择是根据消息的报头来实现的,那么REST服务又采用怎样的操作选择机制呢? 阅读全文
2012-02-09 09:13 作者: Artech【评论:7】【阅读:556】 
摘要: 可以说WebHttpBinding和WebHttpBehavior是整个Web HTTP编程模型最为核心的两个类型,前者主要解决消息编码问题,而余下的工作基本上落在了终结点行为WebHttpBehavior上。WebHttpBehavior属性HelpEnabled和AutomaticFormatSelectionEnabled是“帮助页面”与“自动消息格式选择”这两个特性的总开关。 阅读全文
2012-02-07 08:37 作者: Artech【评论:8】【阅读:1456】 
摘要: 我们知道请求消息和回复消息分别是对操作方法输入参数和返回值(输出参数和引用参数)的封装,而请求消息和回复消息的主体具有两种不同的风格,即Bare和Wrapped。的Bare表示请求消息和回复消息的主体部分仅仅包含针对输入参数和返回值(输出参数和引用参数)序列化后的内容,而Wrapped则会在外面包装一个基于当前操作的“封套”。 阅读全文
2012-02-06 08:52 作者: Artech【评论:10】【阅读:1485】 
摘要: 不论是我们采用SOAP还是REST架构风格,运行时框架体系依然不曾改变,终结点也仍旧是通信的核心。在Web HTTP编程模型中,我们采用基于WebHttpBinding绑定的终结点。绑定是一组相关绑定元素的有序组合,绑定的特性与能力决定于它包含的绑定元素,在这里我们通过分析绑定元素的方式来剖析WebHttpBinding绑定与其它绑定有何不同 阅读全文
2012-02-05 09:36 作者: Artech【评论:13】【阅读:1572】 
摘要: 微软在WCF 3.5中就通过提供基于Web HTTP的编程模式使我们很容易地创建基于REST的服务,WCF 4.0中对此进行了较大的改进。为了让读者对REST在WCF中的应用有一个大致的了解,我们先来进行一个简单的实例演示。 阅读全文
2012-02-04 11:47 作者: Artech【评论:16】【阅读:1070】 
摘要: JSONP(JSON with Padding)可以看成是JSON的一种“使用模式”,用以解决“跨域访问”的问题,这篇简单的文章给出一个简单的例子用于模拟如何通过jQuery以JSONP的访问调用一个WCF REST服务。[源代码从这里下载] 阅读全文
2012-01-16 21:17 作者: Artech【评论:17】【阅读:2285】 
摘要: 本篇文章介绍可以算是WCF 4.0基于限流(Throttling)的新特性,是在修订《WCF技术剖析(卷1)》的时候编写演示实例的时候发现的。这个特性没有出现在官方文档上面,至少在MSDN上的相关介绍依然是错误的。 阅读全文
2011-12-31 12:49 作者: Artech【评论:104】【阅读:3446】 
摘要: 在《通过一个模拟程序让你明白ASP.NET MVC是如何运行的》一文中我通过一个普通的ASP.NET Web程序模拟了ASP.NET MVC的执行流程,现在我们通过类似的原理创建一个用于模拟WCF服务端和客户端工作原理的模拟程序。[源代码从这里下载] 阅读全文
2011-12-07 21:25 作者: Artech【评论:26】【阅读:3584】 
摘要: 如果采用自我寄宿的方式,我们需要为每个寄宿的服务创建ServiceHost对象。但是一个应用往往具有很多服务需要被发布,基于单个服务的ServiceHost的创建将会变成一个很繁琐的事情。如果我们能够采用某种机制来读取所有配置的服务,并自动为它们创建相应的ServiceHost对象,这无疑是一种理想的方式。 阅读全文
2011-12-07 12:03 作者: Artech【评论:12】【阅读:2423】 
摘要: IIS 7.0因引入WAS提供了对非HTTP协议的支持。这个对于WCF的服务寄宿来说意义重大,它意味着我们通过IIS/WAS寄宿的服务终结点不仅仅可以采用BasicHttpBinding、WSHttpBinding/WS2007HttpBinding等基于HTTP协议的绑定,也可以采用NetTcpBinding、NetNamedPipeBinding和NetMsmqBinding。 阅读全文
2011-12-04 22:56 作者: Artech【评论:12】【阅读:1924】 
摘要: 在定义和寄宿WCF服务的时候会面临三个名称/命名空间,它们分别是ServiceContractAttribute、ServiceBehaviorAttribute和Binding的Name和Namespace属性,很对人对此不能很好地区分。 阅读全文
2011-11-13 10:00 作者: Artech【评论:13】【阅读:3941】 
摘要: 现在我们通过一个实例来演示终结点的地址报头如何影响实现终结点选择的消息筛选机制。这个实例通过为服务端终结点指定地址报头实现针对客户端的授权,让经过许可的客户端才能访问这个服务。具体来说,我们将一个代码序列号的GUID作为终结点的地址报头。对于客户端发送的消息,只有具有相应的报头才能访问服务。 阅读全文
2011-11-12 10:44 作者: Artech【评论:7】【阅读:1876】 
摘要: 终结点是整个WCF的核心,由经典的ABC三要素组成。作为表示地址的EndpointAddress,很多人仅仅将其看成是一个表示标识服务并且表示服务所在地址的Uri,其实服务标识和定位服务仅仅是EndpointAddress一个基本的功能,它不仅仅是Uri那么简单。 阅读全文
2011-11-11 12:59 作者: Artech【评论:10】【阅读:2714】 
摘要: 作为.NET Framework的一部分,几乎每个版本.NET Framework的推出都会为WCF带来一些改变。针对于最新版本的.NET Framework 4.0,一些新的特性被引入到WCF。对于这些基于.NET Framework版本的更替而带来的针对WCF的变化,我个人是这么看待的:WCF在随着.NET Framework 3.0发布的时候就具有一个成熟的架构设计,可扩展性即使一个重要的衡量标准。基于后续版本的.NET Framework发布的WCF并没有像WF一样出现“革新”型的改变,很多都是利用了这个可扩展性的通信平台开发出来的新特性,WCF 4.0也不例外。 阅读全文
2011-10-28 08:41 作者: Artech【评论:18】【阅读:5995】 
摘要: WCF所谓的安全审核就是针对认证和授权所做的针对EventLog的日志记录。我们不但可以设置进行审核的事件(认证成功/失败,授权成功或失败),还可以选择记录信息被写入的EventLog类型,即应用程序日志还是安全日志。WCF的安全审核是通过ServiceSecurityAuditBehavior服务行为实现的。 阅读全文
2011-10-27 08:17 作者: Artech【评论:9】【阅读:2087】 
摘要: 在Managed模式下,可用服务的终结点通过发现代理来统一管理。客户端在进行可用目标服务探测和解析的时候直接向发现代理进行探测和解析请求就可以了。这篇文章通过一个简单的实例为你演示如果通过创建发现代理实现可用服务的实时维护。服务可以在上下线的时候自动注册和注销,客户端可以动态地向发现代理查询当时可用的服务。 阅读全文
2011-10-26 09:12 作者: Artech【评论:7】【阅读:1852】 
摘要: 在《原理篇》我们对客户端如何监听通知,以及服务在上下线时如何发送通知从原理上进行了深入地剖析。我们现在通过一个简单的实例演示如何通过ServiceDiscoveryBehavior服务行为为寄宿的服务添加一个实现上/下线通知的AnnouncementEndpoint终结点,以及客户端如何通过对AnnouncementService服务的寄宿实现对通知的监听和接收。[ 阅读全文
2011-10-25 12:00 作者: Artech【评论:5】【阅读:2090】 
摘要: 到目前为止,我们所介绍的都是基于客户端驱动的服务发现模式,也就是说客户端主动发出请求以探测和解析可用的目标服务。在介绍WS-Discovery的时候,我们还谈到另外一种服务驱动的模式,即服务在上线和下线的时候主动对外发出Hello/Bye通知。 阅读全文
2011-10-25 08:37 作者: Artech【评论:9】【阅读:2709】 
摘要: 前面两篇我们分别介绍了可被发现服务如何被发布,以及客户端如果探测可用的服务。接下来我们通过一个简单的例子来演示如果创建和发布一个可被发现的服务,客户端如何在不知道服务终结点地址的情况下动态探测可用的服务并调用之。 阅读全文
2011-10-09 09:26 作者: Artech【评论:14】【阅读:2139】 

导航

广告

团队简介

聚合

团队负责人

团队成员[共48人]