WCF Service Mode Layer-Dispatcher详解

评论(0)浏览(159)分类:Asp.Net/C#/WCF
WCF Service Mode Layer-Dispatcher详解  在本系列的WCF如何通过Binding进行通信、wcf如何对Channel Layer进行扩展--创建自定义Channel中,我们对WCF的channel layer进行了深入的讨论。我们接下来继续讨论WCF的service mode layer。本篇文章着重介绍service 端的ServiceMode。写作此篇文章旨在达到以下两个目的:希望读者对ServiceMode有一个大致的了解,结合前面介绍的channel laye..

wcf如何对Channel Layer进行扩展--创建自定义Channel

评论(0)浏览(134)分类:Asp.Net/C#/WCF
wcf如何对Channel Layer进行扩展--创建自定义Channel  在WCF如何通过Binding进行通信中,我们通过一个直接借助BasicHttpBinding对象实现Client和Server端进行通信的例子,对WCF channel layer进行了一个大致上的介绍。由此引出了一些列通信相关的概念和对象,比如Channel,Output channel, Input channel,Request channel, Reply Channel,Duplex channel, Channel Shape,Channel manager,C..

WCF如何通过Binding进行通信

评论(0)浏览(107)分类:Asp.Net/C#/WCF
WCF如何通过Binding进行通信  Windows Communication Foundation,顾名思义,就是一个在Windows平台下进行如何进行Communication的基础构造(Infrastructure)。 由于WCF的核心还是Communication,这个新的系列就先来讨论WCF如何进行Communication的。通过本篇文章,你将对WCF的通 信机制有一个总体的认识,了解到一些和通信相关的概念, 比如:Communication、Channel、..

WCF REST学习目录

评论(0)浏览(73)分类:Asp.Net/C#/WCF
WCF REST学习目录WCF REST-REST服务实例WCF REST-WebHttpBinding与消息编码WCF REST-Web消息主体风格(Message Body Style)WCF REST-帮助页面与自动消息格式(JSON/XML)选择WCF REST-WebServiceHost介绍WCF REST-UriTemplate、UriTemplateTable与WebHttpDispatchOperationSelectorWCF REST-ASP.NET Output Caching缓存WCF REST-通过条件资源获取提高性能

WCF REST-通过条件更新解决资源并发修改

评论(0)浏览(82)分类:Asp.Net/C#/WCF
WCF REST-通过条件更新解决资源并发修改  WCF REST-通过条件资源获取提高性能可以避免相同数据的重复传输,进而提高性能。条件更新(Conditional Update)用于解决资源并发操作问题。如果我们预先获取一个资源进行修改或者删除,条件更新检验帮助我们确认资源被获取出来到针对它的修改/删除操作 被提交的这段时间内是否被其他人改动过。[源代码从这里下载]一、HTTP对条件更新的支持 ..

WCF REST-通过条件资源获取提高性能

评论(0)浏览(86)分类:Asp.Net/C#/WCF
WCF REST-通过条件资源获取提高性能  条件获取(Conditional Retrieval)旨在解决这样的问题:客户端获取某个资源并对其进行缓存,当再次获取相同资源时,如果资源数据与之前获取的一致,则不再返回真正的资源数据,而是在回复中设置一个标识表明获取的资源并未发生改变。[源代码从这里下载]一、 HTTP对条件获取的支持  HTTP 对条件获取提供了原生的支持。具体的实现是这样的:..

WCF REST-ASP.NET Output Caching缓存

评论(0)浏览(86)分类:Asp.Net/C#/WCF
WCF REST-ASP.NET Output Caching缓存  ASP.NET的输出缓存(Output Caching)机制允许我们针对整个Web页面或者页面的某个部分(主要针对用户控件)最终呈现的HTML进行缓存。对于后续针对相同资源的请求,只需 要直接将缓存的HTML予以回复而无须按照页面处理生命周期对每次请求进行重复处理。WCF通过操作行为AspNetCacheProfileAttribute利用ASP.NET的输出缓存提供一种针对于某个操..

WCF REST-UriTemplate、UriTemplateTable与WebHttpDispatchOperationSelector

评论(0)浏览(90)分类:Asp.Net/C#/WCF
WCF REST-UriTemplate、UriTemplateTable与WebHttpDispatchOperationSelector  REST服务采用面向资源的架构,而资源通过URI进行标识和定位,所以URI在 REST中具有重要的地位。对于WCF来说,服务调用请求的URI映射为某个具体的操作,所以服务端需要解决的是如何根据请求URI选择出对应的操作。如 果采用SOAP,操作的选择是根据消息的Action报头来实现的,那么REST服务又采用怎样的操作选择机制呢?一、URI模板  在 定义服..

WCF REST-WebServiceHost介绍

评论(0)浏览(153)分类:Asp.Net/C#/WCF
WCF REST-WebServiceHost介绍  WCF为REST服务的寄宿提供了一个新的ServiceHost,即 WebServiceHost。WebServiceHost是ServiceHost的子类,而WebServiceHostFactory是对应的 ServiceHostFactory,在基于IIS/WAS寄宿中被使用。由于对REST服务绝大部分功能的支持都是通过 WebHttpBehavior这么一个终结点行为实现的,所以WebServiceHost的核心功能就是将该终结点行为应用到寄宿..

WCF REST-帮助页面与自动消息格式(JSON/XML)选择

评论(0)浏览(118)分类:Asp.Net/C#/WCF
WCF REST-帮助页面与自动消息格式(JSON/XML)选择  WebHttpBinding和WebHttpBehavior是整个Web HTTP编程模型最为核心的两个类型,前者主要解决消息编码问题,而余下的工作基本上落在了终结点行为WebHttpBehavior上。 WebHttpBehavior属性HelpEnabled和AutomaticFormatSelectionEnabled是帮助页面与自动消 息格式选择这两个特性的总开关。[自动消息格式(JSON/XML)选择源代码从这里下载] 1: p..

WCF REST-Web消息主体风格(Message Body Style)

评论(0)浏览(91)分类:Asp.Net/C#/WCF
WCF REST-Web消息主体风格(Message Body Style)  对于Web HTTP编程模型来说,服务契约中作为操作的方法无须应用OperationContractAttribute特性,只需要根据需要应用 WebGetAttribute与WebInvokeAttribute特性即可。前者针对GET HTTP方法,或者则针对其他HTTP方法。WebGetAttribute与WebInvokeAttribute的属性BodyStyle和 IsBodyStyleSetExplicitly涉及到Web消息主体风格的话题。 1: [Att..

WCF REST-REST服务实例

评论(0)浏览(180)分类:Asp.Net/C#/WCF
WCF REST-REST服务实例  微软在WCF 3.5中就通过提供基于Web HTTP的编程模式使我们很容易地创建基于REST的服务,WCF 4.0中对此进行了较大的改进。为了让读者对REST在WCF中的应用有一个大致的了解,我们先来进行一个简单的实例演示。 [源代码从这里下载]一、定义服务契约  在这个实例中,我们创建一个简单的服务来管理员工的基本信息。至于实例程序的结构,我们依然..

WCF授权-WCF自定义授权体系详解[实例篇]

评论(0)浏览(83)分类:Asp.Net/C#/WCF
WCF授权-WCF自定义授权体系详解[实例篇]  在《WCF授权-WCF自定义授权体系详解[原理篇]》 中,我们谈到WCF自定义授权体系具有两个核心的组件:AuthorizationPolicy和 ServiceAuthorizationManager,已经它们是如何写作最终提供一种基于声明的授权实现。为了让自定义授权有深刻的理解,我们来进 行一个简单实例来演示如何通过自定义这两个组件实现非角色授权策略。[源代码从这里下载]一..

WCF授权-AuthorizationPolicy和ServiceAuthorizationManager示例

评论(0)浏览(79)分类:Asp.Net/C#/WCF
WCF授权-AuthorizationPolicy和ServiceAuthorizationManager示例  在《WCF授权-AuthorizationPolicy和ServiceAuthorizationManager》 中我们谈到:如果采用自定义安全主体权限模式,我们可以通过自定义AuthorizationPolicy或者 ServiceAuthorizationManager实现对基于当前认证用于相关的安全主体的提供,进而达到授权的目的。为了让大家对此有个更加深刻 的认识,在这篇文章中我们会提供一个具体的例子。[源..

WCF授权-ASP.NET Roles授权[下篇]

评论(0)浏览(105)分类:Asp.Net/C#/WCF
WCF授权-ASP.NET Roles授权[下篇]  为了让读者对基于ASP.ENT Roles授权方式有一个全面的认识,我们现在来做一个实例演示。在这个实例中,我们将采用不同的认证方式,包括Windows认证和证书认证(ASP.NET Membership + Roles为常见的组合方式,在这里就不多作演示)。简单起见,我们依然沿用一贯的基于如下图所示的解决方案结构,并且依然采用声明式的授权。所以在服务操作方法..

WCF REST-WebHttpBinding与消息编码

评论(0)浏览(118)分类:Asp.Net/C#/WCF
WCF REST-WebHttpBinding与消息编码  不论是我们采用SOAP还是REST架构风格,运行时框架体系依然不曾改变,终结点也仍 旧是通信的核心。在Web HTTP编程模型中,我们采用基于WebHttpBinding绑定的终结点。绑定是一组相关绑定元素的有序组合,绑定的特性与能力决定于它包含的绑定元 素,在这里我们通过分析绑定元素的方式来剖析WebHttpBinding绑定与其它绑定有何不同。采用HTTP/HTT..

WCF授权实现目录

评论(0)浏览(70)分类:Asp.Net/C#/WCF
WCF授权实现目录I、身份(Identity)与安全主体(Security Principal)WCF授权-Identity与Principal[上篇]WCF授权-Identity与Principal[下篇]WCF授权-WCF中的三种授权方式II、Windows用户组授权WCF授权-基于Windows用户组授权[上篇]WCF授权-基于Windows用户组授权[下篇]WCF授权-模拟(Impersonation)与委托(Delegation)WCF授权-模拟在WCF中的应用III、ASP.NE..

WCF授权-WCF自定义授权体系详解[原理篇]

评论(0)浏览(126)分类:Asp.Net/C#/WCF
WCF授权-WCF自定义授权体系详解[原理篇]  到目前为止,介绍的授权策略都是围绕着安全主体进行的,基本上都是基于角色的授权。虽然角色是定义权限最为常用的形式,但是它解决不了授权的所有问题。基于角色的授权策略一般是这样的:需要进行访问控制的操作或者资源关联到某个角色上,那么只要访问者被分配了该角色,就被授予了相应的权限。 那么假设我们的授权策略是这样的:访问权限和..

WCF授权-AuthorizationPolicy和ServiceAuthorizationManager

评论(0)浏览(109)分类:Asp.Net/C#/WCF
WCF授权-AuthorizationPolicy和ServiceAuthorizationManager  在《WCF授权-通过扩展自行实现服务授权》中,我通过自定义CallContextInitializer的方式在操作方法之前之前根据认证用户设置了当前线程的安全主体,从而实现授权的目 的。实际上,WCF的安全体系本就提供相应的扩展,使你能够自由地实现安全主体的提供方式。具体来说,安全主体的提供可以通过自定 AuthorizationPolicy或者ServiceAuthorizati..

asp sqlserver2000 [Microsoft][ODBC SQL Server Driver][DBNETLIB]一般性网络错误。请检查网络文档

评论(0)浏览(269)分类:Asp/VBScript
asp sqlserver2000 [Microsoft][ODBC SQL Server Driver][DBNETLIB]一般性网络错误。请检查网络文档  今天访问一个本地的asp程序时,在连接SqlServer2000数据库出现下面的错误Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'[Microsoft][ODBC SQL Server Driver][DBNETLIB]一般性网络错误。请检查网络文档。  这个程序没改动过,以前都是可以运行的。最近好像安装了什么软件还是配置过什么了,导致出现这个错误。网上找..

WCF授权-基于Windows用户组授权[上篇]

评论(0)浏览(104)分类:Asp.Net/C#/WCF
WCF授权-基于Windows用户组授权[上篇]  Windows用户组安全主体权限模式,顾名思义,就是将利用Windows安全系统将 对应的Windows帐号所在的用户组作为该用户权限集的授权方式。认证和授权密不可分,但是对于认证和授权在WCF安全体系中的实现来说,它们则是相对 独立的。认证属于安全传输的范畴,是在信道层实现的,而授权则是在服务模型层实现的。但是对于基于Windows用户组的授权来..

WCF授权-通过扩展自行实现服务授权

评论(0)浏览(103)分类:Asp.Net/C#/WCF
WCF授权-通过扩展自行实现服务授权  其实针对安全主体的授权实现的原理很简单,原则上讲,只要你能在服务操作执行之前能够根据本认证的用户正确设置当前的安全主体就可以了。如果你了解WCF的整个运行时框架结构,你会马上想到用于授权的安全主体初始化可以通过自定义CallContextInitializer来实现。[源代码从这里下载]目录:CallContextInitializer简介步骤一、自定义CallConte..

WCF授权-ASP.NET Roles授权[上篇]

评论(0)浏览(99)分类:Asp.Net/C#/WCF
WCF授权-ASP.NET Roles授权[上篇]  在采用Windows认证的情况下,使用基于Windows用户组安全主体权限模式是一 个不错的选择。我们可以直接使用现有的用户组设置,也可以为相应的应用或服务创建单独的用户组。但是,由于该模式对Windows认证的依赖,意味着这种 模式只能使用于局域网环境中。如果采用证书和Windows帐号的映射,也可以适用于像B2B这样的外部网环境。在其他的网络环..

WCF授权-模拟在WCF中的应用

评论(0)浏览(93)分类:Asp.Net/C#/WCF
WCF授权-模拟在WCF中的应用  在《WCF授权-模拟(Impersonation)与委托(Delegation)》一文中,我们对模拟和委托这两个概念以及相关编程实现进行了详细说明。如果将模拟使用在WCF上面,就意味着WCF可以模拟客户端身份(而不是启动寄宿进程的Windows帐号)执行服务操作。这篇文章主要介绍WCF关于模拟的编程。一、命令式模拟编程  如果我们有一个具有模拟级别为Imperso..

WCF授权-模拟(Impersonation)与委托(Delegation)

评论(0)浏览(133)分类:Asp.Net/C#/WCF
WCF授权-模拟(Impersonation)与委托(Delegation)  由于服务操作是在寄宿进程中执行,在默认的情况下,服务操作是否具有足够的权限访问某个 资源(比如文件)决定于执行寄宿进程Windows帐号的权限设置,而与作为客户端的Windows帐号无关。在有多情况下,我们希望服务操作执行在基于 客户端的安全上下文中执行,以解决执行服务进行的帐号权限不足的问题。这就涉及到一个重要的话题模拟(Impers..

WCF授权-基于Windows用户组授权[下篇]

评论(0)浏览(94)分类:Asp.Net/C#/WCF
WCF授权-基于Windows用户组授权[下篇]  为了让读者对基于Windows用户组的授权具有深刻的认识,接下来我们通过一个简单的事例来讲解在真正的应用中该授权模式如何使用。对于接下来演示的事例,我们将采用Windows认证和授权。至于授权的最终实现,我们采用的是在服务方法上面应用PrincipalPermissionAttribute特性方式的声明式授权。[源代码从这里下载]步骤一、创建测试帐号  在创..

WCF授权-WCF中的三种授权方式

评论(0)浏览(120)分类:Asp.Net/C#/WCF
WCF授权-WCF中的三种授权方式  前面的两篇文章(《WCF授权-Identity与Principal[上篇]》和《WCF授权-Identity与Principal[下篇]》) 主要探讨基于安全主体的授权。通过这些介绍我们知道:如果我们在实施授权的时候,当前线程的安全主体能够被正确设置,我们就可以正确地完成授权。基于相同 的原理,对于WCF的服务授权,如果正确的安全主体能够在服务操作被执行之前被正确设..

WCF授权-Identity与Principal[下篇]

评论(0)浏览(124)分类:Asp.Net/C#/WCF
WCF授权-Identity与Principal[下篇]  WCF中安全主体(Principal)是整个授权机制的核心。可以简单地将安全主体定义成能够被成功实施授权的主体。一个安全主体具有两个基本的要素:基于某个用户的安全身份和该用户具有的权限。绝大部分的授权都是围绕着角 色进行的,我们将一组相关的权限集和一个角色绑定,然后分配给某个用户。所以在基于角色授权环境下,我们可以简单地将安全主..

WCF授权-Identity与Principal[上篇]

评论(0)浏览(145)分类:Asp.Net/C#/WCF
WCF授权-Identity与Principal[上篇]  在安全领域,认证和授权是两个重要的主题。认证是安全体系的第一道屏障,守护着整个应用 或者服务的第一道大门。当访问者叩门请求进入的时候,认证体系通过验证对方提供凭证确定其真实身份。作为看门人的认证体系,只有在证实了访问者的真实身份 的情况下才会为其打开城门,否则将之举之门外。  当访问者入门之后,并不意味着它可以为所欲..

WCF中并发(Concurrency)与限流(Throttling)体系剖析目录

评论(0)浏览(150)分类:Asp.Net/C#/WCF
WCF中并发(Concurrency)与限流(Throttling)体系剖析目录  服务(Service)的本质就是提供服务消费者期望的某种功能,服务的价值体现在两个 方面:服务本身的质量和寄宿服务的平台应付消费者的数量,并发(Concurrency)的关注的是第二个要素。WCF服务寄宿于资源有限的环境中,要实 现服务效用的最大化,需要考虑如何利用现有的资源实现最大的吞吐量(Throughput)。提高吞吐量就某个寄宿的服务实例(..