大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> NET专区 -> Whidbey中客户端回调机制(一)

Whidbey中客户端回调机制(一)

时间: 2021-07-31 作者:daque

whidbey对存户端回调的简化有很多来由让我憧憬vs.net的下一个本子:whidbey,个中之一即是减少了很多对存户端剧本的扶助。包括了新的属性和一个clientscriptmanager类来处置存户端剧本。但是,大概最受欢送的即是whidbey扶助回调长途效劳器正在运用的存户端剧本。图 1. 回调的过程: 当它被效劳器和存户端两者处置时,你不妨遏制回调的过程经过革新或回发提交一个页面来实行数据查问是一项很凡是的本领。运用asp时,开拓者运用脚从来遏制存户端提交的数据,但如许常常使得asp代码很难举行保护。像大普遍的web applications,对效劳器以提交回发情势提交数据惹起一个实足的乞求- 回应周期,效劳器会天生一个完崭新的页往返应乞求, 而后欣赏器会天生新的页以包办已生存的页。页面重绘(page-redrawing)使得运用者获得效劳器的回应的数度变得很慢。开拓者减少这种题目的接口题目的一个本领是藉由运用长途剧本(remote scripting),这种长途剧本运用包括java applets 的dhtml拉拢在已生存的页面上动静天生向效劳器革新数据的乞求。 除此除外,开拓者还不妨运用(只实用于ie乞求)存户端剧本和xmlhttp向效劳器后盾数据发出乞求。然而这两个本领的实行时很艰巨的,这须要特殊的经心和全力,更加是编写翻译。开拓者憧憬在首先asp.net release 本子中获得少许变革,她们获得少许,如: 效劳器控件、 viewstate,机动回发(automated postback)以及鉴于事变的asp.net编制程序模子处置了很多题目。更加是smartnavigation(只是在ie运用步调里)。 然而为了实行跨平台运用步调,开拓者连接依附长途剧本。这个题目,在asp.net v2.0( whidbey) 里仍旧获得基础的变换。whidbey 对存户回调的扶助在whidbey 本子中,存户端不妨挪用效劳器本领来提交数据,而且获得截止,而不必提交表单。那些挪用你只有写很少的少许更加的代码,运用后盾的xml http 来实行对效劳器乞求。 图一 表露运用步调论理过程。 你写了一个对效劳器发出乞求的存户端因变量(办法2),而且设置了一个效劳器事变(办法1 c) 处置这个乞求。 callbackmanager 就像是一其中转站,处置办法3到办法6的一系列进程。囊括从存户端到效劳器的乞求的发出和数据从效劳器到存户端的归来。 另一个存户端因变量(办法7) 处置效劳器的归来消息。你写了两个存户端因变量用来想效劳器发出一个乞求而且处置效劳器的归来消息。实行查问假设你须要创造一个页面来实行从3 张数据库表中查问数据:region, country, and city。 ( 见图 2 ) 这是一个" dependent list " 题目的典范的例子。 当一个用户采用一个地域,则步调该当用在这个地域的国度来绑定country list。 同样,当用户采用一个国度时,city list该当为只是包括被采用的国度相映的都会。( 见图 2) 固然不妨运用平常postback 本领来实行这写功效,然而你必需忍耐历次向效劳器发出乞求而重绘所有页面包车型的士本能价格。但是,由于你能保护十足页构造代码,所以你不妨供给一种更好、更快的本领来实行这个功效,这即是运用长途回调(remote callbacks),历次只发送相映的标识而且只是获得那些相映的数据。载入这篇作品代码,代码囊括callback.sql数据库剧本,用来创造正文用那些数据。不妨运用sql server大概msde 数据库。 开始运转数据库剧本,( 你不妨按照须要变动,来运用其它数据库)。而后启用visual studio.net whidbey创造例子。创作工程,采用沙盘典型" asp.net web site "( 见图3)。 这创造一个新页default.aspx 。即使想也不妨给它从新定名。沙盘采用: 在visual studio 里的沙盘采用对话中采用asp.net网站名目在default.aspx页面减少 dropdown controls如图4中所示。 你不妨察看而且复制一切来自这篇作品载入代码用<asp:table>囊括的代码。为了实行长途回调这个功效,必需实行icallbackeventhandler 接口。 在页面减少以次的代码。<%@ implements interface= "system.web.ui.icallbackeventhandler" %>this interface has a single public event definition that you must implement: public string raisecallbackevent( string eventargument) { // server side handling here... } 长途回调使存户端爆发 raisecallbackevent. 所以,你该当处置而且归来鉴于存户端发出的eventargument相映的消息。 你不妨从本领出面瞥见这种本领参数为一个string而且归来一个st

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.