<" />

欧美三区_成人在线免费观看视频_欧美极品少妇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)論
主站蜘蛛池模板: 一级黄色毛片视频 | 亚洲精品乱码久久久久久 | 成人性生活视频在线播放 | 小泽玛利亚一区二区 | 欧美综合自拍亚洲综合百度 | 精品日韩欧美国产一区二区 | 中文字幕日韩欧美一区二区三区 | 91免费在线 | 欧美天天视频 | 麻豆一二区 | 91精品国产综合久久国产大片 | 这里只有精品在线视频观看 | 亚洲天堂午夜 | 九九热九九 | 韩国午夜电影 | 久久久婷婷一区二区三区不卡 | 日韩城人网站 | 亚洲黄色a| 国内精品久久久久久中文字幕 | 精品国产一区二区三区久久久蜜月 | 青青久草在线 | 午夜爱爱爱爱爽爽爽网站免费 | 波多野结衣的一级片 | 美女视频黄色片 | 色综合天| 欧美午夜在线 | 古装三级在线观看 | 天天看天天爽天天摸天天添 | 亚洲四播房 | 日韩欧美综合在线二区三区 | 久久精品99| 天天色色色 | 丁香亚洲 | 欧美在线国产 | 天天操一操 | 色爱区综合 | 首页亚洲国产丝袜长腿综合 | 亚洲天堂日本 | 欧美精品免费xxxxx视频 | 91免费国产在线 | 波多久久亚洲精品AV无码 |