Agent Framework m6版说明书.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Agent Framework m6版说明书

GrapeCity Agent Framework Version: M6 测试版 第一章 Agent技术简介 1 Domain 是一种容器,类似于Hashtable或者ArrayList。他是Agent运行的平台,是Agent运行的载体,为Agent提供了使用Agent功能所需要的所有基础设施。 2 Agent Agent在这里只是一个概念,是所有支持IAgent接口的类的统称。它是AgentFramework的主角,通过给现有的类增加属性标记,从而能够让其成为一个Agent,并可以与其他Agent很方便的进行交互。因此我们须要给位于同一个Domain中的Agent起不同的名字,以便更好的区分它们,如果创建Agent的时候没有指定其名字,系统将会自动给它分配一个名字。 IAgent 所有Agent所实现的接口,不管是实体Agent还是引用Agent,作用有点类似于object对象。但是IAgent接口并不需要你去实现,AgentFramework会自动给所有加载到Domain中的对象实现IAgent接口。因此只用关心怎么使用就可以了。 AgentRef 这个结构描述了一个Agent的实体的位置。可以通过这个结构创建出一个该实体Agent的引用来,从而实现远程的Agent调用。 DomainAlliance 这个也是一个概念,利用DirectPlay的P2P技术构造出的一个Domain的对等网络,只要具备有效的凭据,就可以将Domain连入这个网络,从而对周围的环境做出反应。 第二章 目前可供使用的功能 Agent行为扩展 ActivationAttribute这个属性主要作用就是描述用户的函数的各种行为,比如:定时调用,同步异步等,这些行为主要分为三大类,也就是: Call 和 CallSync —— 函数的异步调用和同步调用 Event 和 EventSync —— 函数的异步事件调用和同步事件调用 Time —— 函数的异步定时器调用 其中Agent Framework则以函数的事件调用为核心,逐渐展开使用。 ActivationMode是这个Attribute中最关键的属性,它决定了这个函数拥有什么样的Agent行为,根据ActivationMode的取值不同,还决定了这个函数可以使用那些附加的Agent功能。 ActivationMode的取值与其余的属性的对应关系为: ActivationMode Call CallSync Event EventSync Time ActivationEventString 有效 有效 DelayMode 有效 有效 有效 有效 有效 DelaySeconds 有效 有效 有效 有效 有效 DelayTimeString 有效 有效 有效 有效 有效 EventMode 有效 有效 EventOperation 有效 有效 EventParameter 有效 有效 EventRaise 有效 有效 IntervalCount 有效 有效 有效 有效 有效 IntervalSeconds 有效 有效 有效 有效 有效 RepeatMode 有效 有效 有效 有效 有效 注意:红色的字体是理论上有效,但未经过全面测试,相同的背景颜色为同一组的属性,根据 Mode的取值不同,从而使用不同的属性。 远程调用功能 要远程调用Agent就必须将2个Agent连接起来,目前Agent Framework提供的连接方案有: Internet 局域网 本机 进程 如果要连接2个不在一个局域网内的Domain要怎么办, 方法一:我们可以编写一个类似网关的Agent,并产生2个副本,并加入2个不同的局域网,然后通过进程内连接将2个网段的Agent连接起来。如下图: 如何创建一个远程调用? 只要拥有任意一个远程Agent的AgentRef 就可以在本地创建出一个与远程Agent一模一样的代理,然后就和使用remoting 一样,就可以操作远程的Agent,而不需要考虑这个Agent在哪里。如 DomainControllor dc = domain.CreateAgentReference(agentRef) as DomainControllor; 然后这个 dc 就可以和本地对象一样使用了,实现的效果就和remoting 一致。 第三部分 开发中的功能 权限控制 – AgentBehaviorAttribute 通过配置AgentBehaviorAttribute来决定哪些Agent能够与当前的方法进行交互,以及交互的内容,比如:是否允许修改当前方法的参数等等。 Agent缓存 – X:\Windows\System32\Agen

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档