(计算机应用技术专业论文)基于net框架的校园信息资源共享技术研究.pdf_第1页
(计算机应用技术专业论文)基于net框架的校园信息资源共享技术研究.pdf_第2页
(计算机应用技术专业论文)基于net框架的校园信息资源共享技术研究.pdf_第3页
(计算机应用技术专业论文)基于net框架的校园信息资源共享技术研究.pdf_第4页
(计算机应用技术专业论文)基于net框架的校园信息资源共享技术研究.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机应用技术专业论文)基于net框架的校园信息资源共享技术研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 目前,部分高校的信息化工作,己经走 b 了单纯的网络建设和网站建设的阶 段,而着手进入了信息资源的整合、开发和利用的新阶段。针对国内高校数字化 校园现状,各个部门中存在着许多相互独立的子系统,存在的主要问题则在于由 于缺少统一的规划和比较成型的校园信息化建设标准作指导,应用水平和服务水 平都比较低,众多“信息孤岛”的存在限制了信息资源的共享。 如何对这些信息系统进行统一的管理以及各系统之问的信息共享已成为学 校极为关心的问题。本文对此进行了较为深入的研究,提出了基于n e t 框架的 信息资源共享的模型,从两实现各信息系统的无缝共享,并且实现了以w e b 服务 方式为不同部门的客户提供人性化的管理,可以进一步确保上级部门对学校教学 各个方而准确地掌握。 论文首先分析了分布式系统的发展、特点和体系结构,然后分别论述了当前 主流的分布式组件技术、w e b 服务技术,提出了以w e b 服务方式实现各个系统的 数据共享的设想。论文对w e b 服务的组成、运行机制以及与w e b 服务相关的一些 重要协议进行了分析。同时论述了n e t 框架的各个重要组成部分、体系结构和 工作原理,在此基础上,针对目前基于n e t 框架的分布式系统架构进行了分析, 并且结合学校各部门分布式系统的具体情况,提出了基于n e t 框架的信息资源 共享模型,在该模型的基础上实现了毕业设计的双向选择系统,充分利用现有的 学校信息资源,借助于各职能处室提供的w e bs e r vi c e ,对查询的结果进行y d v l l 格式化,转化为统一的x m l ,然后在查询结果页面显示所需的内容,各处室相当 于服务提供者,建立了信任关系的w e b 服务,各院系相当于服务消费者,各院系 利用自己的程序接口,通过w e bs e r v i c e 技术直接查询各处室的数据,实现数据 资源的共享;通过异步调用w e b 服务的机制解决了系统的响应速度慢的问题,提 高了页面响应速度,并就实现该模型时遇到的一些问题提出了效果较好的解决方 案。 关键词:n e t 框架,w e b 服务,分布式系统,异步调用,信息共享 a b s t r a c t c o n c u r r e n t l y , t h ei n f o m a t i o n i z a t i o nf o rs o m eu n i v e r s i t i e sh a v ea d v a n c e dt ot h e n e we r ai nw h i c ht h ei n f o r m a t i o nr e s o u r c e sw i l lb ei n t e g r a t e d ,d e v e l o p e da n du t i l i z e d , r a t h e rt h a nn e t w o r kd e v e l o p m e n ti sj u s tw e b s i t ed e v e l o p m e n t a i m i n ga tt h ep r e s e n t s t a t u so ft h ed i g i t i z e dc a m p u s e so ft h ec h i n e s eu n i v e r s i t i e s ,i nw h i c ht h e r ea r es o m a n yi s o l a t e ds u b s y s t e m s i nd i f f e r e n t s e c t i o n s ,t h ee x i s t i n gp r o b l e ma r et h e d e f i c i e n c i e so ft h ec o h e r e n tp l a n sa n dt h es t a n d a r d sf o r t h ef o r m e dc a m p u s i n f o r m a t i o n i z a t i o nc o n s t r u c t i o n s ,t h el e v e l sf o ra p p l i c a t i o n sa n ds e r v i c e sa r el o w s o m a n yi s o l a t e di n f o r m a t i o ni s l a n dh a v el i m i t e dt h es h a r eo f t h ei n f o r m a t i o nr e s o u r c e s h o wt oi n t e g r a t ea l lt h ei n f o r m a t i o ns y s t e m sa n dm a k et h e ms h a r a b l ea m o n ga l l t h es y s t e m sh a v eb e e nc o n c e r n e db yt h eu n i v e r s i t i e s t h es t u d yt ot h ea b o v ep r o b l e m s i sp r e s e n ti nt h ep a p e r f o rt h es e a m l e s ss h a r i n ga m o n ga l lt h ei n f o r m a t i o ns y s t e m s , a n dt h er e a l i z a t i o no ft h ew e b b a s e da n t h r o p o m o r p h i z e dm a n a g e m e n tf o rt h ed i f f e r e n t s e c t i o n s ,t h ei n f o r m a t i o nr e s o u r c e ss h a r i n gm o d e lb a s e do n n e tf r a m e w o r ki s p r o p o s e d ,w i t hw h i c ht h ed e c i s i o nm a k e r sc o u l dg r a s pa c c u r a t e l ya l lt h ea s p e c t so ft h e u n i v e r s i t i e s t h ed e v e l o p m e n t ,f e a t u r e sa n da r c h i t e c t u r e sa r ef i r s t l yi n t r o d u c e di nt h ep a p e r , t h ec u r r e n tm a i n s t r e a md i s t r i b u t e dc o m p o n e n t sa n dt h ew e bs e r v i c e st e c h n o l o g i e sa r e i n t r o d u c e de i t h e r , t og i v et h ei d e a st h a tm a k et h ed a t as h a r a b l ea m o n gt h es y s t e m s w i t ht h ew e bs e r v i c em o d e t h ec o m p o s i t i o n s ,m e c h a n i s m sa n dt h er e l a t e di m p o r t a n t p r o t o c o l so ft h ew e bs e r vi c ea r ea n a l y z e d a tt h es a m et i m e ,a l lt h ei m p o r t a n t c o m p o n e n t s ,a r c h i t e c t u r e sa n dp r i n c i p l e so ft h e n e tf r a m e w o r ka r ea l s od e p i c t e d a n dt h e n ,t h e r ei st h ea n a l y s i st ot h ec o n f i g u r a t i o n so ft h e n e tf r a m e w o r k - b a s e d d i s t r i b u t e ds y s t e m s a n dt h e n e tf r a m e w o r k - b a s e di n f o r m a t i o nr e s o u r c e ss h a r i n g m o d e li sb r o u g h tf o r t h ,b yt h ee x i s t i n ge d u c a t i o n a li n f o r m a t i o nr e s o u r c e s ,t h r o u g ht h e w e bs e r v i c e s b ya l l t h ef u n c t i o n a ls e c t i o n s ,t h eb i - d i r e c t i o n a lo p t i o n sf o rt h e g r a d u a t i o nd e s i g n i n ga r er e a l i z e du p o nt h em o d e l t of o r m a tt h er e t r i e v a lr e s u l ti n t o t h eu n i v e r s a lx m l ,t h en e e d e dc o n t e n ta r ed i s p l a y e di nt h ec o r r e s p o n d i n gw e b p a g e s i nt h em o d e l ,e a c hs e c t i o nt a k e st h er o l ea st h es e r v i c ep r o v i d e r , t os e tu pt h et r u s t e d w e bs e r v i c e ,a l lt h ed e p a r t m e n t st a k et h er o l ea st h es e r v i c ec o n s u m e sa l ld a t af r o m t h ed i f f e r e n ts e c t i o n sa r er e t r i e v e dd i r e c t l yb yt h ei n d e p e n d e n t p r o g r a mi n t e r f a c e sa n d t h ed a t ar e s o u r c e ss h a r i n ga r er e a l i z e db yt h i sw a y t or e s o l v et h es l o wr e s p o n s e p r o b l e mw i t ht h ea s y n c h r o n o u sc a l l i n gw e bs e r v i c em e c h a n i s m ,t h ep a g er e s p o n s e s p e e dh a sb e e ne n h a n c e d ,s o m eb e t t e rr e s o l u t i o n st ot h ee n c o u n t e r e dp r o b l e m sw h e n r e a l i z et h em o d e la r eg i v e ni nt h ep a p e r k e yw o r d s :n e tf r a m e w o r k ,w e bs e r v i c e s ,d i s t r i b u t e ds y s t e m , a s y n c h r o n o u sc a l l ,i n f o r m a t i o ns h a r e 独创性声明 本人声明所呈交( 1 勺学位沦文是本人 研究方向模式( 研究方向i d ,方向名称,说明) 学生选择题目模式( 学号,题目i d ,志愿顺序) 2 、科研处科研信息e r 图对应的关系模式如下: 论文信息模式( 名称名称,摘要,是否收录,期刊刊号,卷期,发表时间, 教师i d ) 科研项目信息模式( 项目编号,项目名称,经费,类别代码,起始日期,教 师i d ,是否结题) 期刊信息模式( 刊号,期刊名称,出版地) 教师信息模式( 教师j d ,姓名,学院) 科研类别信息模式( 类别代码,名称,负责机构) 3 、教务处学生课程信息e r 图对应的关系模式如下: 学生模式( 学号,姓名,性别,专业i d ) 教师模式( 教师i d ,姓名,职称,专业i d ,权限) 学习信息模式( 学号,学期,课程代码,成绩) 专业模式( 专业i d ,专业名称) 3 6 3 存储过程设计 存储过程是由一些s q l 语句和控制语句组成的被封装起来的过程,它驻留在 数据库中,可以被客户应用程序调用,也可以从另一个过程或触发器调用,它的 参数可以被传递和返回。与应用程序巾的函数过程类似,存储过程可以通过名字 来调用,而且它们同样有输入参数和输出参数1 4 | l 。 使用存储过程有以下特点 1 执行效率高:存储过程运行在s q ls e r v e r 服务器上,因为服务器一般都 是功能和性能非常良好的机器,所以执行时间比较短。而且其执行速度也比较快, 第一i 章系统分析与设i t 有两个原因:首先,在存储过程创建的时候,数据库已经对其进行了一次解析和 优化。其次,存储过程一旦执行,在内存中就会保留一份这个存储过程,这样下 次再执行同样的存储过程时,可以从内存中直接调用。 2 一致性:存储过程与其他应用程序共享逻辑,可以确保访问的一致性。 另外,在存储过程中可以封装功能模块。所有的客户机可以使用同一个存储 过程进行各种操作,从而最大程度地保证数据一致性。 3 。安全性:可以使用存储过程来加强系统操作的安全性,可以创建存储过 程来完成所有增加、删除和修改操作。如果用户被赋予执行存储过程的权限,即 使用户没有对在存储过程中所参考的表或者视图进行操作的权利。也可以执行该 存储过程。 4 减少网络频繁传输:如果在服务器和客户机之间传送1 0 0 0 条s q ls e r v e r 语句,可能需要很长时间,但是如果把这1 0 0 0 条s q ls e r v e r 语句写成一条比较 复杂的存储过程,就会大大减少服务器和客户机之间的网络传输时间。 5 更强的适应性:由于用户对数据库的访问是通过存储过程来进行的,因 此数据库开发人员可以在不改动存储过程接口的情况下对数据库进行任何改动, 而这些改动不会对应用程序造成影响。 6 减少开发周期:使用存储过程可以将服务器和客户机的开发任务分离, 这样可以减少项目的开发周期。 由以上的分析可以看到,在应用程序中使用存储过程是很有必要的。在该系 统中,对数据库更新的大部分操作都采用了存储过程的形式来处理,主要的存储 过程有: s pw s t u d b y s j a d d ,s p _ w s t u d b y s j d e l ,s p _ w s t u d b y s j p z ,s p _ w s t u d b y s j p z d e l , s p,w b y s j x t g c x gs p w b y s j t m x gs p w b y s j x g 3 7 信息资源共享模型设计 在不改变各系统原有结构以及正在使用的软硬件资源的前提下,对现有资源 进行共享整合| 4 2 】,以达到最大限度的数据资源共享,各院系可以在自己内部网上 查询自己学生的相关信息,教师科研信息等,其模型设计如图3 8 所示。 第三章系统分析与设计 w e bs o v i o e l 查崮1 6 盛 数据代珥! 中心r 玉而;赢 l 科技处提供i i 敦务处提供的i 型笠这 剧i 和l 1 l皿纠删l 圄圃 在图3 8 中,各院系可以根据自己的需求,在自己的网站中提出查询请求, 虽然各处室采用的数据库可能不一致,有a c c e s s ,有s q ls e r v e r ,但借助于各处 室提供的w e bs e r v i c e ,可以对查询的结果进行x m l 格式化,转化为统一的x m l , 然后在查询结果页面显示所需的内容。各处室相当于服务提供者,建立了信任关 系的w e b 服务,各院系相当于服务消费者,这样可以达到在各院系利用自己的程 序接口,通过w e bs e r v i c e 技术直接查询各处室的数据,真正实现数据资源的共 享。 3 8 本章小结 本章根据第二章的研究理论基础和要设计的毕业设计双向选择系统的需求 分析,提出了相应的设计任务,描述了系统业务流图和数据流图,提出并设计了 系统的逻辑结构和应用架构的选择,并设计了系统所需数据库结构,最后提出了 实现毕业设计双向选择系统时用到的信息资源共享的系统模型。 第四章系统实现关键技术 第四章系统实现关键技术 4 1 创建和使用a s p n e tw e b 服务 该系统在设计时,利用w e b 服务实现了远程分布式信息资源的共享,下面 总结介绍设计实现的过程。 4 1 1 创建w e b 服务 对于使用a s p n e t 创建的w e b 服务,需要将w e b m e t h o d 属性应用于公共 方法。可通过w e b 进行通信的w e b 服务类的方法称为w e b 服务方法。w e b 服 务方法是w e b 服务所使用的消息基础结构的重要组成部分。默认情况下,客户 端和w e b 服务使用消息( 特别是s o a p 消息) 进行通信。 在解决方案资源管理器中,右击网站的名称,然后单击“添加新项”。 在“v i s u a ls t u d i o 模板”下单击“w e b 服务”,然后在“名称”框中键入 “s e r v i c e o f s e l e c t s t ”。 确保“将代码放在单独的文件中”复选框已选定,然后单击“添加”。 v i s u a lw e bd e v e l o p e r 创建一个新的w e b 服务,它由两个文件组成 s e r v i c e o f s e l e c t s t a s m x 和s e r v i c e o f s e l e c t s t c s 文件,w e b 服务方法就在 s e r v i c e o f s e l e c t s t c s 中,如下所示: p u b l i cc l a s ss e r v i c e o t s e l e c t s t :s y s t e m w e b s e r v i c e s w e b s e r v i c e s t r i n gw c o n n e c t s t r i n g ; p u b l i cs e r v i e e o f s e l e c t s t ( ) w c o n n e c t s t r i n 9 2 s y s t e m c o n f i g u r a t i o n c o n f i g u r a t i o n m a n a g e r a p p s e t t i n g s ”c o n n s t r ”】; 【w e b m e t h o d 】 p u b l i cs t r i n gs e l e c t p a p e r ( s t r i n gi s _ n a m e ) s q l - ”s e l e c t1 w m c ,d y z z , q k d m ,”; s q l + = ”f b r q ,s f s l j u a n ,q i ”; s q l + = ”f r o mw l w x x ”; s q l + 5 ”w h e r ed y z z2 w n a m eo r d e rb yf b r q ”; 第四章系统实现关键技术 ) ) 仃y c m d = n e ws q l c o m m a n d ( s q l ) ; c m d p a r a m e t e r s a d d ( n e ws q l p a r a m e t e r ( w n a m e ”,s q l d b t y p e c h a r ) ) ; e m d p a r a m e t e r s ” w n a m e ”】v a l u e 2l s n a m e ; c m d c o n n e c t i o n = n e ws q i c o n n e c t i o n ( w c o n n e c t s t r i n g ) ; d a = n e ws q l d a t a a d a p t e r ( c m d ) ; d a f i l l ( d s ) ; i f ( d s t a b l e s 0 。r o w s c o u n t 0 1 d t = d s t a b l e s 0 ; 4 1 2 测试w e b 服务 在解决方案资源管理器中,单击s e r v i c e o f s e l e c t s t a s m x ,然后按c t r l + f 5 。 调用w e b 服务,在资源管理器中显示一个页,显示由w e b 服务公开的方法, 如图4 1 所示。 一3 l - 第四章系统虫m * 键技$ j :dh 嘶,儿4o o i - 。镕6 哪。州觚。# t 6 l l 心一 。日矧毒 jz “l 十- n * 鲋e 女t # r 女镕f h 女* * t t i 女* ! i 一 nw e b t 月h t t p :i l t e m p u r io r g # a & “g i 日 t t :2 * x m l w e b i c e s 2 自- 口i 口t u o g 铺 母th h _ w e b 埘s 褊! 一十。卜自g i 月- “# p 月目t 搏# 2 # w c b x n b 蕾9 甍x 瓷袋嚣”。们射特2 锄黼扑艘“5 雒删“n s 虚蹙艇 g 臻;嚣慧k ”w e 5 b ”s e r v 詈嚣舞嚣:船裂怒捃:0 1 淼畿;? :袈警一哥 ;e c e s 自9 2 日自u r l ) b 明 s pn e t 由堤x e b ;e c e ;目,日n 目明w 曲s e o e h f 蟑a e s d a c e i 女u 自g 铷 w 曲s c e * 目f e h l w 曲i 目勺女t i f t 日g 目# 4 9 i 月& t “h t b l ,m i c r oso f tc o m e b ”州矿 c , 【v e b s 1 c c f n a 难3 一- ”h c p :,i 3 0 f cc o 州咖一j ,- ) 】 p cc l s 1 ,十 图4 l 测试w e b 服务 单击“s e l e c t p a p e r ”,它调用该方法。出现如图4 2 所示一页,提示您输入方 法的参数值。 在“i s _ r 瑚n e ”框中,键入“王法玉”,然后单击“调用”,出现如图4 3 所示 一页,显示调用了s e l e c t p a p e r 方法时w e b 服务返回的x m l 。在x m l 中出现查 询结果值。 4 击,硅日完整的女”w s e l e c t p a p e r 搿试 若要使用h 丌pp o s t 协d 对障作进行测试,镕“谭用”攘钮 参数值 i s 一e 囤 s 0 p 1 1 u 下是s o a p1 “求响应i 例所显f 白勺占符需替垫为宾际m p o s t l i e b s e r v s c l t e c h s i c e o f s e l e c t s t xh t t p 11 h 0 3 t :1 2 7o 01 c o n c e n t t y p e x t m n l ;c h a r s e t = u t i 一8 c o n t e n l e hl e n g t h s o a p a c t l o n :”h t t p o r g s e l e c t p a p e r ” 7 t n ”l 目0oi ,c d c i t 州删c t “椰d c o fv 口趣 图4 3s e l e c t p a p e r 查询结果值 查询结果值正确,表示已完成创建w e b 服务 镕口系统女班燕键技术 4 13 使用w e b 服务 w e b 服务是可以在应用程序中引用的组4 1 。因此必须创建对w e b 服务的 引用,w e b 服务的引用方法如下: 存解决方案资源管理器巾,右击嘲站的名称,然后单击“添加w e b 引用”。 出现“添加w e b 引用”对话椎,如图4 4 所示的屏幕快照。 目4 4 蠡加w e b 引用对话框 在图44 所示的窗口中,可以使用三种方法添加w e b 服务。添加完w e b 服 务后解决方案资源管理器中出现如图4 5 所示对话框。 第口幕盛现* 键拄术 一一。,。i 。k t - _ 矗、_ u 到屯哂p 。一! 壁方雾- 棚附+ 口个项目) 6 一二口“i + jp r o p ”t i - + _ 引用 当_ 6c s t nc t 一二一z t t l :l l l o c d i l s t l l t i l * s t e r l j 扣p _ c o d o jb p 口t 一jb d e b k f ”t n e t s 一 c u $ ) r v l c d t 瞄叫c c td i = c o us d t “j c t4 i 一 j $ e r v ic t s t u d s 曲3 e c t _ i n 一一曲 、js c m 6 d c t 玎m 、js c m 6 d c t s tm s 删 u s e e 0 6 0 e c t s tt m + 一f m u 。0 翩方塞瓷潮嚏薯五# 祝田 图45 添加w e b 服务后的效果 程序中利用同步方法使用添加的w e b 服务的常用代码如下: h a s 小h 洲e d s t s v 2 n e w k - c s e r v i c e o f s e l e c t s t o ; “ b e n l b 扑= s t s e l c c t p a p 州m n o p d 0 w n u 刚鲥c c l c d l m ) ; 这样只要在远程服务器中提供该服务,本地客户端程序调用该方法就实现了 调用远程服务器上的共享数据。 4 2 异步调用w e b 服务方法 由于w e b 服务调用花费较长时间才能返回,因此,异步调用w e b 服务方法 是理想的选择。该系统设计时就采用了异步调用w e b 服务的方法。 w e b 服务描述语言工具( w s d le x e ) 生成客户端代理类来访问指定的w e b 服务时,会为该代理类提供与每个w e b 服务方法进行异步通信的两种机制。第一 种机制是b e g i n e n d 模式。第二种机制是在n e tf r a m e w o r k2 0 版中提供的事 件驱动的异步编程模式h l ”心j 。该系统设计采用了第二种机制。 4 2 1b e g i n e n d 调用模式 w s d le x e 为w e b 服务中发布的每项操作自动创建三个方法( a s e n e t 中的 w e b 服务方法) 。一个方法针对同步访问:封外两个方法针对异步访问。即使该 w e b 服务方法只有一个同步实现也不例外。表4 1 对这三个方法进行了说明: 第四章系统实现关键技术 代理类中方法的名称说明 为名为 的w e b 服务方法同步发送消息。 b e g i n 开始与名为 的 w e b 服务方法的异步消息通信。客户端指示b e g i n 方法开始对服务调用进行处理,但立即返回。返回 值不是w e b 服务方法指定的数据类型,而是实现 i a s y n c r e s u l t 接e l 的类型。 e n d 结束与名为 的 w e b 服务方法的异步消息通信,返回的值是w e b 服务方法调用的结果。 b e g i n 和e n d 方法均遵循n e tf r a m e w o r k 异步设计模式的命名约定。该 设计模式规定每种同步方法有两种如此命名的异步方法。对于前面提到的方法 s e l e c t p a p e r 方法,系统会自动生成( 在n e t 命令提示符下运行命令:w s d l o u t :s e r v i c e o f s e l e c t s t o u t c sh t t p :l 12 7 0 0 , it w e b s e r v i c e s c i t e c h , s e r v i c e o f s e l e c t s t a s m x ? w s d l ,可以得到文件s e r v i c e o f s e l e c t s t o u t c s ,如果 w s d l e x e 使用此w 曲服务作为输入生成了客户端代理代码,将生成包含签名的 b e g i n e n d 方法) 如下两个方法: p u b l i cs y s t e m ,i a s y n c r e s u l tb e g i n s e l e c t p a p e r ( s t r i n gi s _ n a m e ,s y s t e m a s y n c c a l l b a c k c a l l b a c k ,o b j e c ta s y n c s t a t e ) r e t u r nt h i s b e g i n l n v o k e ( ”s e l e c t p a p e r ”,n e wo b j e c t 】 i s _ n a m e ,c a l l b a c k , a s y n c s t a t e ) ; l p u b l i cs t r i n ge n d s e l e c t p a p e “s y s t e m i a s y n c r e s u l ta s y n c r e s u l t ) o b j e c t 口r e s u l t s = t h i s e n d l n v o k e ( a s y n c r e s u l t ) ; r e r l r n ( ( s t r i n g ) ( r e s u l t s o ) ) ; ) 使用b e g i n e n d 模式实现进行异步方法调用的w e b 服务客户端时,客户端 如何知道何时调用e n d 方法呢? 根据n e tf r a m e w o r k 的定义,有两种方法可 以使客户端确定这一点: 第网亭系统实现关键技术 1 使用b e g i n e n d 模式的等待方法:使用w a i t h a n d l e 类的方法之一使客 户端等待方法完成。 w a i t h a n d l e 类实现下列支持等待同步对象得到信号通知的方法:w a i t o n e 、 w a i t a n y 和w a i t a l l 。当同步对象得到信号通知时,表示等待指定资源的线程此 时可以访问该资源了。w e b 服务客户端通过b e g i n 方法返i 西1 的l a s y n c r e s u l t 对象的a s y n c w a i t h a n d l e 属性,来访问w a i t h a n d l e 对象。 2 使用b e g i n e n d 模式的回调方法:向b e g i n 方法传递一个回调函数, 在该方法完成处理后再调用该函数来检索结果。在回调方法中,回调函数实现 a s y n c c a l l b a c k 委托,该委托强制以下签名: p u b l i cv o i dm e t h o d n a m e ( i a s y n c r e s u l ta r ) 4 2 2 事件驱动的异步编程模式 在该系统设计时,就采用了实现事件驱动的w e b 服务客户端代码。设计过 程如下: 在客户端a s p n e t 应用程序中,将a s y n c 属性添加到您的 p a g e 指令中, 将其设置为t r u e ,然后使用 i m p o r t 指令导入s y s t e m t h r e a d i n g 命名空间。 对于前面提到的方法s e l e c t p a p e r 方法,使用w s d l 命令,系统除了具有名为 s e l e c t p a p e r 、b e g i n s e l e c t p a p e r 和e n d s e l e c t p a p e r 的方法外,会自动生成如下 s e l e c t p a p e r a s y n c 的方法和名为s e l e c t p a p e r c o m p l e t e d 的事件。 p u b l i cv o i ds e l e c t p a p e r a s y n c ( s t r i n gl s _ _ n a m e ) t h i s s e l e c t p a p e r a s y n c ( i s _ n a m e ,n u l l ) ; p u b l i cv o i ds e l e e t p a p e r a s y n c ( s t r i n gi s _ n a m e , o b j e c tu s e r s t a t e ) i f ( ( t h i s s e l e c t p a p e r o p e r a t i o n c o m p l e t e d n u l1 ) ) t h i s s e l e c t p a p e r o p e r a t i o n c o m p l e t e d2n e w s y s t e m t h r e a d i n g s e n d o r p o s t c a i i b a c k ( t h i s o n s e l e c t p a p e r o p e r a t i o n c o m p l e t e d ) ; t h i s 1 n v o k e a s y n c ( ”s e l e c t p a p e r ”,n e wo b j e c t 】 i sn a m e ,t h i s s e l e c t p a p e r o p e r a t i o n c o m p l e t e d ,u s e r s t a t e ) ; ) p f i v m ev o i do n s e l e c t p a p e r o p e r a t i o n c o m p l e t e d ( o b j e c ta r g ) 第四章系统实现关键技术 i f ( ( t h i s s e l e c t p a p e r c o m p l e t e d1 2n u l l ) ) s y s t e m w e b s e r v i c e s p r o t o c o l s i n v o k e c o m p l e t e d e v e n t a r g si n v o k e a r g s5 ( ( s y s t e m w e b s e r v i c e s p r o t o c o l s 1 n v o k e c o m p l e t e d e v e n t a r g s x a 唱) ) ; t h i s s e l e c t p a p e r c o m p l e t e d ( t h i s ,n e w s e l e c t p a p e r c o m p l e t e d e v e n t a r g s ( i n v o k e a r g s r e s u l t s ,i n v o k e a r g s e r r o r , i n v o k e a r g s c a n c e l l e d , i n v o k e a r g s u s e r s t a t e ) ) ; ) 可以通过注册s e l e c t p a p e r c o m p l e t e d 事件的处理程序并调用 s e l e c t p a p e r a s y n c 来异步调用s e l e c t p a p e r ,如下所示: _ p r o x y s e l e c t p a p e r c o m p l e t e d + 2n e ws e i e c t p a p e r c o m p l e t e d e v e n t h a n d l e r ( o n s e l e c t p a p e r c o m p l e t e d ) ; _ _ p r o x y s e l e c t p a p e r a s y n c ( ) ; v o i do n s e l e c t p a p e r c o m p l e t e d ( o b j e c ts o u r c e ,s e l e c t p a p e r c o m p l e t e d e v e n t a r g se ) ( c a l l e dw h e ns e l e e t p a p e rc o m p l e t e s 当异步调用由于s e l e c t p a p e r a s y n c 完成而开始时,将引发 s e l e c t p a p e r c o m p l e t e d 事件,从而导致调用s e l e c t p a p e r c o m p l e t e d 事件处理程序。 包装该事件处理程序( s e l e c t p a p e 疋o m p l e t e d e v e n t h a n d i e r ) 的委托和传递给它的第 二个参数( s e l e c t p a p e 疋o m p l e t e d e v e n 认唱s ) 都随w e b 服务代理一起生成。可通过 s e l e c t p a p e r c o m p l e t e d e v e n t a r g s r e s u l t 访问s e l e c t p a p e r 的返回值。 采用异步调用前后,经过测试页面响应时间存在较大差别。测试页面分别如 图4 6 、4 7 所示。 。3 5 * 目 系女现芙键技术 一堑? ! 里型黔息资默研宄 营造高木千的盲人环境培养高素质斜新人才 选挥# 师王淹e。旦竺_ j 脚n m 8 6 3 m 论芟名称t 睹 l 射用j 名称 # n 掌任书目b 管理系境 王法玉 1 夭懂理工大 报 用于x m 啪w 女删木实现资堙墓享 王 盍玉 陕洼理i 女 肆报 睦于6 钮m 曲实鞋救学管理i * 与窑观 主法玉| 实验技术与管理 图4 6 单击“s y n c ”( 同步) 安钮查询结果 通过图4 6 可以看到,当单击“同步”按钮后,系统所花时间分别为3 1 3 秽 和56 3 秒,有两个线程在运行。图47 中,单击“异步”按钮后,系统所花时间 分别为2 4 4 秒和2 1 9 秒,又有查询科研和论文两个线程在运行,异步调用后页 面的响应时间有明显的改善。 镕口章系实现* 术 :,m p ,l 目ooi ,r 州,“de c t hn a x v j # 到 | 菱fi “幢# 啪国镕a 费墟事研究 抓住机诨翘接捷睦与时俱进。推进学校持续快遘量鱼点晨 * 撵# 师王法玉 p et h h h 3 3 tt o t m v 二二 | 星耋基蒌雪 图47 单击“a s ”c ”( 异步) 按钮查询结果 4 3 使用存储过程优化应用程序性能 在a s e n e t 页面中使用存储过程,需要完成以下四个步骤: 1 创建一个包含要执行的语句的s q l 存储过程; 2 导 s y s t e m d a t a 名称空间: 3 将存储过程的名称传给s q c o m m a n d 类的实例: 4 将s q i c o m m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论