文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | firefox | WPS | 杀毒软件 | Picasa
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形图像 办公软件 媒体动画 精文荟萃 常用软件 网页编程 技术开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程Asp.Net使用ASP.NET Atlas编写显示真实进度的ProgressBar(进度条)控件
精品推荐
特别推荐
·.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的性能 (续)
·.NET编程规范
·Asp.net1.1升级到2.0遇到的一些问题总结
热点TOP10
·ASP.NET上传文件的实例
·ASP.NET2.0下含有DropDownList的GridView编辑、删除的完整例子!
·DataTable控件的使用
·Access 通用数据访问类(asp.net 2.0 c#)
·Lucene.net 实现全文搜索
·asp.net(C#)海量数据表高效率分页算法(易懂,不使用存储过程)
·AspNetPager分页控件--使用方法
·asp.net程序中最常用的三十三种编程代码
·C#.net对XML文件的操作,福cs源代码
·asp.net2.0学习历程 菜鸟到中级程序员的飞跃
·使用 DataAdapter 执行批量更新
·ASP.net发送Email
·C# 3.0语言规范
·ASP.NET购物车的实现及结算处理
·asp.net WebForm页面间传值方法
·Asp.Net函数集
·.Net分页控件发布
·ASP.NET基于角色的窗体安全认证机制
·ASP.NET 中执行 URL 重写
·原创控件代码共享:-日期选择控件

使用ASP.NET Atlas编写显示真实进度的ProgressBar(进度条)控件

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


 英文版见:http://dflying.dflying.net/1/archive/100_building_a_real_time_progressbar_using_aspnet_atlas.html
当后台在进行某些长时间的操作时,如果能在页面上提供一个显示真实进度的进度条,而不是让用户不知情的等待或是从前的那些简单的估计,将是一个非常难得的出彩之处。现在使用Asp.Net Atlas完全有可能做到这些。这篇文章将讨论如何完成这一功能并介绍一些有关Atlas客户端控件开发的基本概念。您同时可以在这里下载示例程序以及源文件。

实现网页上的进度条想法其实很简单:编写一个客户端的Atlas控件,每隔一段时间请求一次服务器,并使用返回的当前进度数据更新进度条的显示。在这个示例中,将有四个部分的代码组成:

一个需要较长时间才能完成的Web Service
一个用来查询上述Web Service进度的Web Service
客户端Atlas进度条(ProgressBar)控件,负责维护客户端逻辑并输出可视化UI。这也是本示例中最重要的一个组件,在将来可被重用于其他页面或程序的开发
包含上述Web Service以及控件的ASP.NET测试页面
下面我们一步一步地来实现以上四个步骤:

 需要较长时间完成的Web Service

在实际的程序中,一个需要较长时间完成的Web Service可能有如下声明:

1[WebMethod]
2public void TimeConsumingTask()
3{
4    ConnectToDataBase();
5    GetSomeValueFromDataBase();
6    CopySomeFilesFromDisk();
7    GetARemoteFile();
8}
这样我们就可以插入一些辅助方法来确定当前进度完成情况,setProgress(int)用来设定当前的进度完成百分比:

 1[WebMethod]
 2public void TimeConsumingTask()
 3{
 4    setProgress(0);
 5    ConnectToDataBase();
 6    setProgress(10);
 7    GetSomeValueFromDataBase();
 8    setProgress(40);
 9    CopySomeFilesFromDisk();
10    setProgress(50);
11    GetARemoteFile();
12    setProgress(100);
13}
在本示例中,我们仅仅使用Cache来储存进度完成信息并利用Thread.Sleep()方法模拟操作的延迟:

 1[WebMethod]
 2public int StartTimeConsumingTask()
 3{
 4    string processKey = this.Context.Request.UserHostAddress;
 5    string threadLockKey = "thread" + this.Context.Request.UserHostAddress;
 6    object threadLock = this.Context.Cache[threadLockKey];
 7    if (threadLock == null)
 8    {
 9        threadLock = new object();
10        this.Context.Cache[threadLockKey] = threadLock;
11    }
12
13    // Only allow 1 running task per user.
14    if (!Monitor.TryEnter(threadLock, 0))
15        return -1;
16
17    DateTime startTime = DateTime.Now;
18
19    // Simulate a time-consuming task.
20    for (int i = 1; i <= 100; i++)
21    {
22        // Update the progress for this task.

[1] [2] [3] [4] 下一页 




上一篇:<鸟笼山剿匪记>完全评价(看不懂的进)

下一篇:用php简单实现Search Engine Friendly的URL

使用ASP.NET Atlas编写显示真实进度的ProgressBar(进度条)控件 相关文章:
·DataGrid 控件的使用
·DataTable控件的使用
·AspNetPager分页控件--使用方法
·.Net分页控件发布
·如何判断ACTIVEX控件是否下载
·原创控件代码共享:-日期选择控件
·使用嵌套的Repeater控件
·窗体控件大小随窗体大小变化而变化
·WEB打印设置解决方案二(利用ScriptX.cab控件改变IE打印设置)
·列表视图控件
使用ASP.NET Atlas编写显示真实进度的ProgressBar(进度条)控件 相关软件:
·asp.net服务器控件与组件开发
·Visual Basic 6.0 控件参考手册
·Visual Basic 6.0控件参考手册
·VB的控件的学习
·SmartGrid表格控件 for Asp.Net(Web Grid,DataGrid) V2.0
·vb6控件参考手册
·SmartGrid表格控件 for Asp.Net(Web Grid,DataGrid) V2.0 For VS2003
·SmartGrid表格控件 for Asp.Net(Web Grid,DataGrid) V2.0 For VS2005
·Delhpi控件应用
·FlexCell表格控件For.NETV1.5.5

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