2011年10月14日

ASP.NET MVC区别

摘要: mvc1 模式:view接收用户输入,把命令传到controllercontroller处理命令,更新modelmodel被更新后,会通知view需要updateview更新后向用户显示 mvc2 模式:由于mvc1中,model可以通知view,然后view就可以被更新,这在windows程序中很常见,像MFC的frame-document-view架构,如果document改变了,他会主动通知view进行update但是在web中,作为model的java bean更新后,无法调用作为view的jsp(而且view通常很多,需要选一个),因此改为mvc2模式:view接收用户输入,把命令传 阅读全文

posted @ 2011-10-14 20:44 liwei823 阅读(1849) 评论(0) 推荐(0) 编辑

2011年9月19日

通过“四大行为”对WCF的扩展[实例篇]

摘要: 了让读者对如何利用相应的行为对WCF进行扩展有个深刻的认识,在这里我提供一个简单的实例演示。本实例模拟的场景是这样的:我们创建一个支持多语言的资源服务,该服务旨在为调用者提供基于某种语言的文本型资源。但是,我们不希望客户端在每次调用服务的时候都显式地制定具体的语言,而是根据客户端服务调用线程表示语言文化的上下文来自动识别所需的语言。[源代码从这里下载]要让资源服务具有识别语言文化的能够,我们必须将客户端服务调用线程当前的语言文化信息(具体来说就是Thread的两个属性:CurrentUICulture和CurrentCulture)自动传递到服务端。我们具体的实现原理是这样的:我们将客户端服务 阅读全文

posted @ 2011-09-19 21:46 liwei823 阅读(161) 评论(0) 推荐(0) 编辑

通过“四大行为”对WCF的扩展[原理篇]

摘要: 整个WCF框架由两个基本的层次构成,即服务模型层和信道层。对信道层的扩展主要通过针对绑定的扩展实现,具体来说就是自定义绑定元素,以及相关的信道管理器(信道监听器和信道工厂)、信道来改变对消息的处理和传输方式。而对于服务模式型层的扩展则主要体现服务端和客户端运行时框架的定制,进而让WCF按照我们希望的方式进行运作。由于整个运行时框架由一系列的可扩展组件构成,并且大部分运行时属性也可以改写,所以针对服务模型层的扩展具体体现在:根据具体的需要定义相应的组件,并以某种情形将这些自定义的组件应用到运行时框架相应的地方,或者按照我们希望的方式定制相应的运行时属性。而WCF为我们提供两种典型的应用自定义组件 阅读全文

posted @ 2011-09-19 21:45 liwei823 阅读(153) 评论(0) 推荐(0) 编辑

2011年9月14日

创建一个完整的分布式事务应用

摘要: 本篇文章将提供一个完整的分布式事务的WCF服务应用,通过本例,读者不仅仅会了解到如何编程实现事务型服务,还会获得其他相关的知识,比如DTC和AS-AT的配置等。本例还是沿用贯通本章的应用场景:银行转帐。我们将会创建一个BankingService服务,并将其中的转帐操作定义成事务型操作。我们先从物理部署的角度来了解一下BankingService服务,以及需要实现怎样的分布式事务。一、从部署的角度看分布式事务既然是实现分布式事务,那么事务会跨越多台机器。简单起见,我使用两台机器来模拟。有条件的读者可以在自己的局域网中进行练习,如果你没有局域网可用,你可以使用虚拟机来模拟局域网。假设两台机器名分 阅读全文

posted @ 2011-09-14 21:43 liwei823 阅读(457) 评论(1) 推荐(1) 编辑

WCF事务编程[下篇]

摘要: 在WCF事务编程模型下,通过服务契约确定事务流转的策略(参阅《上篇》),通过事务绑定实施事务的流转(参阅《中篇》)。但是,对于事务绑定接收到并成功创建的事务来说,服务操作的执行是否需要自动登记到该事务之中,以及服务操作采用怎样的提交方式,这就是服务端自己说了算了。正因为如此,WCF通过服务(操作)行为的形式定义事务的登记和提交(完成)方式。一、事务的自动登记(Enlistment)与提交(完成)在OperationBehaviorAttribute特性(其本身是一个操作行为)中定了两个与事务管理相关的属性:TransactionAutoComplete和TransactionScopeRequ 阅读全文

posted @ 2011-09-14 21:40 liwei823 阅读(173) 评论(0) 推荐(0) 编辑

WCF事务编程[中篇]

摘要: [续《上篇》]通过将TransactionFlowAttribute特性应用在服务契约的某个操作之上,并指定相应的TransactionFlowOption枚举直,仅仅定义了事务流转的策略而已。或者说,通过这种方式确定对事物流转的一种意愿,客户端是否愿意将当前事务流出,服务端是否愿意接受流入的事务,可以通过TransactionFlowAttribute特性进行控制。所以说,服务操作上定义个TransactionFlowAttribute特性是是否进行事务流转的总开关,真正的事务传播是建立在TransactionFlowOption.Allowed或者TransactionFlowOption 阅读全文

posted @ 2011-09-14 21:35 liwei823 阅读(200) 评论(0) 推荐(0) 编辑

WCF事务编程[上篇]

摘要: WCF事务编程其实很简单,可以用三句话进行概括:通过服务契约决定事物流转(Transaction Flow)的策略;通过绑定实施事务的流转;通过服务行为控制事务的相关行为。本篇文章着重介绍如果通过TransactionFlowAttribute特性定义事务流转策略。契约时是一种双边协定,是双方就某个关注点达成的一种共识。对于分布式事务的实现来讲,首先需要解决的是事务流转的问题,即事务将客户端的事务流向服务端。要解决事务流转的问题,需要在事务的发送方和接收方就流转问题达成共识,即双方采用相匹配的事务发送和接收策略。毫无疑问,这样的开关需要定义在服务契约之上,同时事务是基于服务操作的,所以事务流转 阅读全文

posted @ 2011-09-14 21:33 liwei823 阅读(172) 评论(0) 推荐(0) 编辑

导航