仓酷云
标题:
ASP.NET编程:.NET下基于组件的散布式体系静态设置
[打印本页]
作者:
飘灵儿
时间:
2015-1-16 22:37
标题:
ASP.NET编程:.NET下基于组件的散布式体系静态设置
对于new隐藏成员的作用,往往是出于使用了一个第三方类库,而你又无法获得这个类库的源代码,当你继承这个类库的某个类时,你需要重新实现其中的一个方法,而又需要与父类中的函数使用同样的函数,这是就需要在自定义的子类中把那个同名函数(或成员)加上new标记,从而隐藏父类中同名的成员。静态|散布式
择要
静态设置为基于组件的散布式体系供应了一种在线演变的壮大机制。本文提出了一种在MSDotNet情况下创建一个可静态设置的散布式使用体系的战略。
关头字
组件、AOP、静态设置
弁言
跟着散布式体系在各个关头营业中起到愈来愈多的感化,如银行体系、基本通讯体系,而这些营业是必要长工夫不中断运转的,因而对体系的演变必须是在线举行的。本文提出了一种在MSDotNetFramework情况下完成基于组件的散布式体系的静态设置战略。
对散布式体系形貌
基于组件手艺的散布式体系能够形貌为一个有向图,有向图中的结点暗示各个组件,组件中的通讯用有向的连线暗示。关于如许的一个有向图能够经由过程XML言语来暗示,比方:
<Configuration>
<Assemblies>
<AssemblyNAME="DataProducer"LOCATION="192.168.10.33"PORT="1234"/>
<AssemblyNAME="DataConsumer"LOCATION="192.168.10.34"PORT="1235"/>
</Assemblies>
<Connections>
<ConnectionFROM="DataProducer"TO="DataConsumer"/>
</Connections>
</Configuration>
登录/注册后可看大图
200777192924292.gif
(1.18 KB, 下载次数: 13)
下载附件
保存到相册
ASP.NET编程:.NET下基于组件的散布式体系静态设置
2015-1-16 22:37 上传
散布式体系的XML形貌
个中结点用“Assembly”标志暗示,有向连线用“Connection”标志暗示。下面的这一段代码形貌了一个从“DataProducer”指向“DataConsumer”的体系。
静态设置算法
静态设置请求体系在设置前后必须坚持分歧性,以下提出的一种战略能够完成体系前后的援用分歧性,这类办法称之为“钝化法”。
钝化是指假如一个结点所发生的一切事件已完成,而且不再见发生新的事件了,那末这个结点就能够进进一个钝化形态。可是,它必须要可以承受其余结点发生的事件,以使别的的结点也能够进进钝化形态。如许一个组件只需守候无限长的工夫就能够进进钝化形态。结点Q的扩展钝化汇合EPS(Q),由Q和一切能够招致启动必要Q介入的事件的构件构成。假如一个结点Q的EPS(Q)中的一切结点都处于钝化形态的话,我们就说结点Q是运动的。
依据运动形态实际(起首由JeffKramer和JeffMagee提出),假如一个结点处于运动形态的话,对它举行静态设置是不会改动全部体系的分歧性的。
[attach]292594[/attach]
如形貌的散布式体系,若想要交换M,那末EPS(M)={C1,C2,A1,A2,M},只需EPS(M)中的一切汇合都是处于钝化形态的,那末M就是运动的,也就是说在M运动的情形下,对M举行静态设置前后体系会坚持援用分歧。
AOP手艺的使用
撑持静态设置功效的代码,能够了解为非功效性代码,这些代码将会自力于体系的别的功效。为了完成这一部分的功效,能够借助于面向方面编程(Aspect-OrientedProgramming,简称AOP)来完成。经由过程AOP手艺的使用能够很轻松地完成对散布式体系的静态设置功效。
在MSDotNetFramework下,能够依托监听的机制来完成AOP的功效。在这里必要用到了两个类,ContextBoundObject类和ContextAttribute类。
任何一个承继自ContextBoundObject的类在创立的时分城市为它创立一个Context,我们就能够使用这个Context来完成监听功效。这些起监听功效的代码将会在一个承继自ContextAttribute的类中完成(这类类我们称之为自界说属性类)。如中的StateAttribute类是承继自ContextAttribute的自界说属性类,在它的完成中能够到场任何我们想要的监听代码,只需将它“贴”在一个想要被监听的类的界说后面,那末这个类就会被监听,如DataProducer类。
[AttributeUsage(AttributeTargets.Class)]
publicclassStateAttribute:ContextAttribute{}
[StateAttribute()]
publicclassDataProducer:ContextBoundObject{}
经由过程对自界说属性类的完成,我们能够完成对方针的形态的把持,进而到达影响方针举动的效果。如许我们就能够经由过程AOP手艺来对第3部分中提出的静态设置算法加以完成。
把持台的创建
把持台是对散布式体系举行会合办理用的,它的次要功效有以下几个方面:
⑴析如的XML言语,也就是对全部体系架构的形貌和对体系布局的修正。比方,能够增加一个结点或修正一个有向连线。
⑵对结点形态的修正。
⑶完成对体系的静态设置功效,包含增加结点、删除结点、更新结点等。
评价静态设置战略
该战略经由过程为散布式体系每一个结点增加自界说属性的办法,并在把持台的和谐下,基础上完成了对结点的援用分歧性的成绩。计算机发展到这个时候,很多技术日益成熟,想学好一种技术都是不容易的,当你学会用的时候你对它的很多原理可能很不了解)
作者:
愤怒的大鸟
时间:
2015-1-19 19:32
JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。
作者:
简单生活
时间:
2015-1-25 07:50
现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。
作者:
深爱那片海
时间:
2015-2-2 16:42
可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
作者:
小女巫
时间:
2015-2-8 02:24
是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
作者:
老尸
时间:
2015-2-24 02:06
主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。
作者:
小魔女
时间:
2015-3-7 10:28
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
作者:
再现理想
时间:
2015-3-14 22:59
目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案.
作者:
admin
时间:
2015-3-21 14:57
主流网站开发语言之PHP
HP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2