小妖女 发表于 2015-1-18 11:17:53

ASP.NET网页设计Windows WorkFlow Foundation进门(五)仓酷云

觉得J2EE好像有很多工具,比如servlet,jboss,tomcat,ejb什么的,可是微软的.NET怎么什么也没有啊?WF中的毛病处置
WF中的毛病是以异步的体例来处置的。在举动中显式或隐式的抛出非常后,事情流运转时引擎会将捕获到的非常先保留到行列中,在以后的工夫再举行处置。这与一样平常的非常处置体例分歧在于,假如一个非常在try{}语句块中被抛出,在响应的catch{}语句块中没法截获该毛病,同时该毛病也不会当即抛出给用户。
非常的原因

以下几种情形大概会发生非常


[*]原子事件超时
[*]别的范例的事件失利
[*]宿主程序经由过程ThrowActivity抛出非常
[*]用户代码毛病。当事情流挪用内部的用户代码时,CLR类大概会抛出非常,假如这类非常在用户代码中没有被处置,它们终极会以事情流非常的的表式呈现。
[*]别的范例的体系非常,比方保留失利,.net或体系非常,或数据转换毛病等
非常捕捉
毛病处置中,假如抛出非常的举动不克不及处置它,非常会被转交到它的上一级举动处置,直到它被处置为止,不然的话,事情流实例就会被事情流运转时引擎停止。
毛病处置是由FaultHandlerActivity举动来完成的。每一个FaultHandlerActivity举动都与一个.net非常范例相干联,而且它包括一系列的举动,假如毛病范例与某个FaultHandlerActivity联系关系的毛病范例婚配的话,就会实行为个FaultHandlerActivity举动。一个FaultHandlersActivity举动包括0-n个FaultHandlersActivity子举动,FaultHandlersActivity能够是任何复合举动的子举动。
WF中的毛病处置一般被视为一个反向的事情,由于它的方针是当非常产生时,打消举动中不乐成的部分的事情。FaultHandlerActivity的实行完成不克不及被以为是事件举动的乐成完成。事件举动会先被设置成毛病形态,然后是封闭形态。任何兄弟举动一样会被作废。同时,compensation也会成为不成用形态。
在事情流中利用Compensation(上面译为抵偿)
WF中关于已完成事件的抵偿形式,是对事情流中呈现的非常举行处置的历程,而且会在逻辑上打消已完成的事件。
WF抵偿有以下两种情势:
当非常没有被处置的时分,体系隐式的抵偿;
利用Compensate举动举行显式的抵偿。
在事情流中利用静态更新
静态更新使得我们能够在事情流实例运转的时分对它做出改动。做这些改动,多是因为计划时分的忽略,大概是属性的改动,举动的绑定,大概是营业逻辑失掉了增强和完美。假如你必要全部改动事情流,静态更新其实不合用,不然会招致事情流与最后的计划准绳完整分歧。在这类情形下,你应当计划一个新的事情流。
静态更新合用于事情流的单个实例。假如已有事情流实例运转,不克不及对事情流中的举行范例的改动。

你可使用静态更新来干面的事变:


[*]改动正在运转的事情流实例;
[*]改动运转时举动;
[*]改动事情流布局,比方,增加或移除一个举动;
[*]改动流程把持;
[*]为对一个已存在的举动界说一个新的前提;
[*]改动一个PolicyActivity的RuleSet;
[*]假如在事情流在已部署和运转后,必要在事情流中增添一个新的营业历程,能够经由过程增加一个新的自界说举动,或InvokeWorkflowActivity举动来完成;
[*]增加一个新的EventDrivenActivity来呼应一个新的事务,如一个附加切实其实认步骤;
对一个正在运转的事情流举行静态更新,大概会招致两个分歧的出口点:一个在事情流代码文件内,一个在事情流外,如事情流宿主程序。
事情流中的数据互换
WF通讯服务撑持在事情流服务情况内的数据互换,它使得事情流能够以办法和事务的情势,与内部体系经由过程动静举行通讯。
WF经由过程webserivce通讯来完成事情流之间的数据互换。

在事情流中利用脚色
C#中有两处地方用到new关键字,第一处也是最常见的一处是用在调用构造函数的时候,这种情况也是大家见的最多的一种。另一处是用在派生类中,作用有隐藏成员,切断继承关系等,相信第二处的用法大家明显要比第一处生疏。

海妖 发表于 2015-1-20 19:48:20

关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。

爱飞 发表于 2015-1-29 18:11:37

同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。

金色的骷髅 发表于 2015-2-5 04:29:58

大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。

若相依 发表于 2015-2-6 08:21:07

当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。

再现理想 发表于 2015-2-7 17:00:29

由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。

莫相离 发表于 2015-2-8 12:24:18

但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。

再见西城 发表于 2015-2-11 01:03:04

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

分手快乐 发表于 2015-2-11 06:00:29

这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。

精灵巫婆 发表于 2015-2-23 12:18:07

是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。

飘飘悠悠 发表于 2015-2-26 06:12:57

HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.

乐观 发表于 2015-2-28 22:29:03

我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。

山那边是海 发表于 2015-3-3 00:02:34

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。

老尸 发表于 2015-3-7 13:20:18

比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。

变相怪杰 发表于 2015-3-15 06:44:52

但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。

蒙在股里 发表于 2015-3-21 19:41:00

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
页: [1]
查看完整版本: ASP.NET网页设计Windows WorkFlow Foundation进门(五)仓酷云