文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程Asp.NetASP.NET 2.0的异步页面刷新
精品推荐
特别推荐
·技巧实例:ASP.NET生成静态页面实现方法
·ASP.NET、JSP及PHP之间的抉择
·.net基础知识错误注意二十二点知识
·asp.net2.0学习历程 菜鸟到中级程序员的飞跃
·.NET基础知识-什么是.NET
·初学C#+ASP.NET+Oracle时积累的备忘点滴
·专家详解:复杂表达式的执行步骤
·asp.net中的加密方法
·DataGrid常见关注问题解决方案
·学习笔记 ASP.NET 5种页面转向法
·ASP.NET网络编程中经常会用到的27个函数集
·ASP.NET之上传文件管理策略
·专家:用.NET动态创建类的实例讲解
·ASP.NET WEB服务和Flash打造MP3播放器
·精通ASP.NET中弹出窗口技术
·asp.net常用代码
·asp.net创建文件夹的IO类的问题
·Asp.Net函数集
·Asp.net cache 简述
·如何最大限度提高.NET的性能 (续)
热点TOP10
·AspNetPager分页控件--使用方法
·ASP.NET购物车的实现及结算处理
·ASP.NET结合存储过程写的通用搜索分页程序
·ASP.Net程式中调用FCKeditor接口
·.NET Framework 3.5多国语言包
·ASP.NET2.0的multiview和wizard控件
·asp.net2.0学习历程 菜鸟到中级程序员的飞跃
·在ASP.NET中把图片保存到SQL SERVER数据库(vb.net)
·通过避免下列10个常见ASP.NET缺陷使网站平稳运行
·.NET基础知识-什么是.NET
·在C#中把两个DataTable连接起来
·VS2005+Crystal Report开发Web应用
·asp.net(C#)海量数据表高效率分页算法(不使用存储过程)
·IFontDisp和CFontHolder的使用问题
·获得一个DataTable中的奇数行和偶数行
·调试ASP.NET程序时出现“The Project Is Not Configured to Be Debugged”错误信息
·ADO.NET 2.0 DataSet和DataTable 新功能新特性
·用C#写计算器程序
·VC#中使用Crystal Report
·ASP.NET:使用DataTable对象保存数据

ASP.NET 2.0的异步页面刷新

日期:2006年11月6日 作者: 查看:[大字体 中字体 小字体]


ASP.NET 2.0的异步页面刷新功能真得很酷,今天尝试用它解决我的一个应用问题,真是帮了大忙了。

我的页面要向后台的socket服务提交一个查询,首先这是一个可能长时间不返回的操作;其次为了拿到socket服务返回的长度不定、有可能很大的Response数据,我不得不采用了dotNET的IAsyncResult BeginReceive(byte[] buffer, int offset, int size, SocketFlags socketFlags, AsyncCallback callback, object state);办法来异步提交socket命令,然后在回调函数中迭代调用int EndReceive(IAsyncResult asyncResult);来获取Response数据直到数据被取完,这一系列的数据片断都缓存在一个MemoryBlock链表中。

这种情况下,ASP.NET页面要想用表格展示Response数据,必须能够被异步刷新。

ASP.NET 1.x 本质上不支持异步页,但是通过坚韧的努力和不懈地创新可以生成异步页。有关更多概述信息,请参阅 MSDN®Magazine 2003 年 6 月刊的文章“Use Threads and Build Asynchronous Handlers in Your Server-Side Web Code”,该文章的作者是 Fritz Onion。

但ASP.NET 2.0 极大地简化了生成异步页的方式。首先使用该页的 @ Page 指令引入 Async=“true” 属性。

其次,在 Page_Load 时,注册事件Page_PreRender:

        private void Page_Load(object sender, System.EventArgs e)

        {

            if (!IsPostBack)

            {

                // 注册事件Page_PreRender执行完成时执行方法

                // Hook PreRenderComplete event for data binding

                this.PreRenderComplete += new EventHandler(Page_PreRenderComplete);

 

接下来,我在点击按钮的事件函数中,开始我的异步操作之旅:

/// PageAsyncTask 的方式则是增强版本,除了异步页面处理开始和结束方法自身外,

/// 还可以提供在超时情况下的处理方法,以及处理时的状态对象。

///

PageAsyncTask task = new PageAsyncTask(

    new BeginEventHandler(BeginSubmitKeywordsAsyncOperation),

    new EndEventHandler(EndSubmitKeywordsAsyncOperation),

    new EndEventHandler(TimeoutSubmitKeywordsAsyncOperation),

    null

);

RegisterAsyncTask(task);

 

/// 对大多数简单的异步处理情况,可以直接调用AddOnPreRenderCompleteAsync 方法,

/// 提交页面请求开始和结束时的处理代码

//AddOnPreRenderCompleteAsync(

//    new BeginEventHandler(BeginSubmitKeywordsAsyncOperation),

//    new EndEventHandler(EndSubmitKeywordsAsyncOperation)

//);

 

该页经历其常规处理生命周期,直到 PreRender 事件刚刚引发之后。然后,ASP.NET 调用使用 RegisterAsyncTask注册的 Begin 方法BeginSubmitKeywordsAsyncOperation。这个方法中我将向sokcet服务提交我的命令,然后将socket.BeginReceive方法得到的IasyncResult对象返回给ASP.NET。


[1] [2] 下一页 




上一篇:eMule实用教程全集

下一篇:与Skype机器人聊天 实用信息轻松查

ASP.NET 2.0的异步页面刷新 相关文章:
·网页设计心得:页面布局的简单规则
·使用xmldom在服务器端生成静态html页面
·轻松实现无刷新三级联动菜单[VS2005与AjaxPro]
·ajax+php无刷新二级联动下拉菜单(省市联动)源码
·将ASP动态网页转换成HTM静态页面的方法
·禁止网页页面刷新的特效代码
·加快WEB页面中图片显示速度
·使用技巧:在JSP页面中的应用JavaBean
·面向异步消息的WEB应用(AMOWA)
·事件处理中UI的刷新问题(笔记体小品文)
ASP.NET 2.0的异步页面刷新 相关软件:
·HTML页面修改注册表解密
·游戏刷新率缩定工具RefreshForce V1.00(可以锁定大部分游戏的刷新率的工具尤其是三国志10中文版)
·个性-状态栏倒计时刷新页面
·整人高招!冻结页面代码
·页面背景渐变特效
·可定位单一显示的页面背景
·经典的页面顶部导航菜单
·页面左上侧固定立体导航条
·XML超酷页面动画效果之四
·超酷!页面定时抖动显示

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot