<" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

asp.net利用多線程執(zhí)行長時(shí)間的任務(wù),客戶端顯

系統(tǒng) 2116 0
對(duì)上一次的做一點(diǎn)修改,增加一個(gè)比較美觀的進(jìn)度顯示

csdn_article001.jpg
上面那個(gè)是運(yùn)行中的畫面,下面那個(gè)是結(jié)束后的畫面
csdn_article002.jpg
用到的圖標(biāo)在這里: clocks.gif

對(duì)上次的前臺(tái)修改如下:

<%@ Page language="c#" Codebehind="WebForm54.aspx.cs" AutoEventWireup="false" Inherits="csdn.WebForm54" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm54</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content=" http://schemas.microsoft.com/intellisense/ie5 " name="vs_targetSchema">
<style type="text/css">
.font { FONT-WEIGHT: normal; FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: "宋體", sans-serif; BACKGROUND-COLOR: #f0f0f0; TEXT-DECORATION: none }
</style>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<div id="div_load" runat="server">
<table width="320" height="72" border="1" bordercolor="#cccccc" cellpadding="5" cellspacing="1"
class="font" style="FILTER: Alpha(opacity=80); WIDTH: 320px; HEIGHT: 72px">
<TR>
<TD>
<P><IMG alt="請(qǐng)等待" src="clocks.gif" align="left">
<BR>
<asp:Label id="lab_state" runat="server"></asp:Label></P>
</TD>
</TR>
</table>
<BR>
</div>
<asp:Button id="btn_startwork" runat="server" Text="運(yùn)行一個(gè)長時(shí)間的任務(wù)"></asp:Button><BR>
<BR>
<asp:Label id="lab_jg" runat="server"></asp:Label>
</form>
</body>
</HTML>

后臺(tái)修改如下:

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace csdn
{
/// <summary>
/// WebForm54 的摘要說明。
/// </summary>
public class WebForm54 : System.Web.UI.Page
{
protected System.Web.UI.HtmlControls.HtmlGenericControl div_load;
protected System.Web.UI.WebControls.Button btn_startwork;
protected System.Web.UI.WebControls.Label lab_state;
protected System.Web.UI.WebControls.Label lab_jg;
protected work w;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此處放置用戶代碼以初始化頁面
if(Session["work"]==null)
{
w=new work();
Session["work"]=w;
}
else
{
w=(work)Session["work"];
}
switch(w.State)
{
case 0:
{
this.div_load.Visible=false;
break;
}
case 1:
{
this.lab_state.Text=""+((TimeSpan)(DateTime.Now-w.StartTime)).TotalSeconds.ToString("0.00")+" 秒過去了,完成百分比:"+w.Percent+" %";
this.btn_startwork.Enabled=false;
Page.RegisterStartupScript("","<script>window.setTimeout('location.href=location.href',1000);</script>");
this.lab_jg.Text="";
break;
}
case 2:
{
this.lab_jg.Text="任務(wù)結(jié)束,并且成功執(zhí)行所有操作,用時(shí) "+((TimeSpan)(w.FinishTime-w.StartTime)).TotalSeconds+" 秒";
this.btn_startwork.Enabled=true;
this.div_load.Visible=false;
break;
}
case 3:
{
this.lab_jg.Text="任務(wù)結(jié)束,在"+((TimeSpan)(w.ErrorTime-w.StartTime)).TotalSeconds+"秒的時(shí)候發(fā)生錯(cuò)誤導(dǎo)致任務(wù)失敗'";
this.btn_startwork.Enabled=true;
this.div_load.Visible=false;
break;
}
}
}

#region Web 窗體設(shè)計(jì)器生成的代碼
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 該調(diào)用是 ASP.NET Web 窗體設(shè)計(jì)器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 設(shè)計(jì)器支持所需的方法 - 不要使用代碼編輯器修改
/// 此方法的內(nèi)容。
/// </summary>
private void InitializeComponent()
{
this.btn_startwork.Click += new System.EventHandler(this.btn_startwork_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void btn_startwork_Click(object sender, System.EventArgs e)
{
if(w.State!=1)
{
this.btn_startwork.Enabled=false;
this.div_load.Visible=true;
w.runwork();
Page.RegisterStartupScript("","<script>location.href=location.href;</script>");

}
}
}

public class work
{
public int State=0;//0-沒有開始,1-正在運(yùn)行,2-成功結(jié)束,3-失敗結(jié)束
public int Percent=0;//完成百分比
public DateTime StartTime;
public DateTime FinishTime;
public DateTime ErrorTime;

public void runwork()
{
lock(this)
{
if(State!=1)
{
State=1;
StartTime=DateTime.Now;
System.Threading.Thread thread=new System.Threading.Thread(new System.Threading.ThreadStart(dowork));
thread.Start();
}
}
}

private void dowork()
{
try
{
SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);
SqlCommand cmd=new SqlCommand("Insert Into test (test)values('test')",conn);
conn.Open();
for(int p=0;p<100;p++)
{
for(int i=0;i<10;i++)
{
cmd.ExecuteNonQuery();
}
Percent=p;//這里就是定義百分比,你估計(jì)這個(gè)操作費(fèi)多少時(shí)間定義多少百分比
}
conn.Close();
//以上代碼執(zhí)行一個(gè)比較消耗時(shí)間的數(shù)據(jù)庫操作
State=2;
}
catch
{
ErrorTime=DateTime.Now;
Percent=0;
State=3;
}
finally
{
FinishTime=DateTime.Now;
Percent=0;
}
}
}
}

asp.net利用多線程執(zhí)行長時(shí)間的任務(wù),客戶端顯示出任務(wù)的執(zhí)行進(jìn)度的示例


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 99久热re在线精品99 6热视频 | 国产免费播放一区二区 | 天天操天天操天天干 | 国产精品美女久久久久久免费 | 亚洲综合精品 | 超碰免费在线观看 | 天天干天天干天天干天天干天天干 | 国产精品资源在线 | 日本久久网 | WW.国产人妻人伦精品 | 久久综合五月开心婷婷深深爱 | 成人精品久久 | 欧美成人a∨高清免费观看 毛片特级 | 99久久精品费精品国产一区二区 | 黄色亚洲| 青青在线香蕉精品视频免费看 | 自拍偷拍视频网站 | 国产一级做a爰片在线 | 色噜 | 中文字幕三区 | 亚洲国产成人在线 | 久草在线中文888 | 亚洲人成人| 精品免费国产一区二区三区 | 国产一级成人毛片 | 四虎精品8848ys一区二区 | 日韩亚洲欧美视频 | 高清视频在线播放 | 国产精品片一区二区三区 | 久久这里只有精品国产99 | 午夜影院18| 中文字幕网在线 | 高清免费国产在线观看 | 久久国产精品99久久久久久牛牛 | 国产精品视频网站 | 亚洲第一网站 | 欧美黑人玩白人巨大极品 | 黄色在线资源 | 日本高清色视频www 99视频在线 | 又黄又爽免费无遮挡在线观看 | 成人午夜精品视频在线观看 |