亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

asp.net線程批量導入數據時通過ajax獲取執行狀態

2024-07-10 13:31:51
字體:
來源:轉載
供稿:網友

前言

最近因為工作中遇到一個需求,需要做了一個批量導入功能,但長時間運行沒個反饋狀態,很容易讓人看了心急,產生各種臆想!為了解決心里障礙,寫了這么個功能。

通過線程執行導入,并把正在執行的狀態存入session,既共享執行狀態,通過ajax調用session里的執行狀態,從而實現反饋導入狀態的功能!

上代碼: 前端頁面

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>批量導入數據</title> <style type="text/css">  .pop_body_con { width: 310px; position: fixed; top: 50%; left: 50%; margin-left: -150px; background: #eee; display:none; }   .pop_body_con .pop_head { width: auto; padding: 10px 0; background: #fff; }    .pop_body_con .pop_head a { display: block; color: #717274; font-size: 12px; text-decoration: none; text-align: center; }  .pop_box { width: auto; overflow: hidden; padding: 45px 10px; }   .pop_box .pop_text { float: left; }    .pop_box .pop_text p { padding: 0; margin: 0; font-size: 12px; line-height: 18px; color: #717274;}   .pop_box .progress_bar_con { float: left; width: 220px; position: relative; z-index: 2; }    .pop_box .progress_bar_con p { margin: 0; padding: 0; font-size: 12px; color: #fff; line-height: 18px; width: 100%;             text-align: center; position: absolute; left: 0; top: 0; z-index: 4; }    .pop_box .progress_bar_con .progress_bar_start { width: 100%; height: 18px; background: #C4C0C0; }    .pop_box .progress_bar_con .progress_bar_end { width: 16%; height: 18px; background: #2bd35d; position: absolute; left: 0; top: 0; z-index: 3; }   .pop_box .progress_bar_con { float: left; }  #loading-mask { width: 100%; height: 100%; position: fixed; top: 0px; left: 0px; z-index: 0; background-color: rgba(0, 0, 0, 0.34902); display: none; } </style> <script src="ajax-master/jquery.js"></script> <script>  var MyInterval;  $(function () {   $("#startImport").click(function () {    MyInterval = setInterval(getState, 1000);   });  });    function getState() {   $.ajax({    url: "test.aspx",    type: "Post",    data: { action: "getSession" },    success: function (msg) {     if (msg != "null") {      msg = eval('(' + msg + ')');      if (msg.being == 100) {       setProcessBar(1, 1);       $(".pop_body_con").hide();       $("#loading-mask").hide();       clearInterval(MyInterval);      }      else {       $(".pop_body_con").show();       $("#loading-mask").show();       setProcessBar(msg.being, msg.count)      }     }    }   });  }  function setProcessBar(exeFlag, exeMax) {   $("#progressbar_text").html(parseInt(roundFun(exeFlag / exeMax, 2) * 100) + "%");   $("#progressbar_bar").attr("style", "width:" + parseInt(roundFun(exeFlag / exeMax, 2) * 100) + "%;");  }  function roundFun(number, X) {   X = (!X ? 2 : X);   return Math.round(number * Math.pow(10, X)) / Math.pow(10, X);  } </script></head><body style="background-color: #fff;"> <input id="startImport" type="button" value="導入數據" /> <div id="loading-mask" ></div> <div class="pop_body_con">  <div class="pop_head">   <a href="javascript:;">正在導入…請勿操作!</a>  </div>  <div class="pop_box">   <div class="pop_text">    <p>導入進度:</p>   </div>   <div class="progress_bar_con">    <p id="progressbar_text">0%</p>    <div class="progress_bar_start"></div>    <div class="progress_bar_end" id="progressbar_bar"></div>   </div>  </div> </div></body></html>

后臺頁面:

using System.Linq;using System.Threading;using System.Web;using System.Web.Script.Serialization;using System.Web.UI;using System.Web.UI.WebControls;public partial class test : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) {  string action = Request.Form["action"];  if (!string.IsNullOrEmpty(action))  {   Hashtable temp = tmethod();   if (temp == null)   {    Thread trd = new Thread(new ParameterizedThreadStart(insertData));    trd.Start(action);   }   else   {    if (temp["reCode"].ToString() == "100")    {          Session.Remove("process");    }   }   JavaScriptSerializer ser = new JavaScriptSerializer();   String jsonStr = ser.Serialize(temp);   Response.Write(jsonStr);   Response.End();  } } public Hashtable tmethod() {  return (Hashtable)Session["process"]; } private void insertData(object obj) {  string action = obj.ToString();  int tCount = 100;  for (int i = 0; i < tCount; i++)  {   Hashtable stateHash = setStateVal(0, i, tCount, action);   Session["process"] = stateHash; //存入session,方便共享執行狀態   Thread.Sleep(500);  }  Session["process"] = setStateVal(100, tCount, tCount, action);  Thread.CurrentThread.Abort(); } private Hashtable setStateVal(int code, int beingV, int CountV, string action) {  Hashtable stateHash = new Hashtable();  stateHash["reCode"] = code; //返回狀態值  stateHash["being"] = beingV;  //正在執行值  stateHash["count"] = CountV;  //總值  stateHash["action"] = action;  //總值  return stateHash; }}

ok,共享完畢!

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。


注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
韩国三级电影久久久久久| 国产日韩中文字幕在线| zzijzzij亚洲日本成熟少妇| 国产欧美 在线欧美| 欧美日本国产在线| 国产美女91呻吟求| 国产精品午夜一区二区欲梦| 亚洲影院污污.| 欧美性猛交xxxx免费看| 不用播放器成人网| 欧美影院久久久| 欧美情侣性视频| 一区二区亚洲精品国产| 久久久亚洲欧洲日产国码aⅴ| 欧美成人精品一区| 国产精品丝袜高跟| 成人免费福利视频| 欧美影院成年免费版| 伊人久久久久久久久久久久久| 夜夜嗨av色综合久久久综合网| 亚洲国产美女精品久久久久∴| 亚洲国产精品成人av| 美女999久久久精品视频| 亚洲美女av在线播放| 国产一区二区三区在线播放免费观看| 在线成人中文字幕| 国产精品亚洲一区二区三区| 国产精品第一视频| 正在播放国产一区| 亚洲国产精品视频在线观看| 在线观看视频亚洲| 日韩毛片在线看| 亚洲国产精品久久精品怡红院| 欧美一区二区.| 欧美日韩xxxxx| 97精品久久久中文字幕免费| 亚洲人成五月天| 亚洲一区二区黄| 最近2019年中文视频免费在线观看| 深夜福利一区二区| 久久久97精品| 亚洲免费av片| 欧美精品电影免费在线观看| 中文字幕不卡在线视频极品| 久色乳综合思思在线视频| 日韩毛片中文字幕| 91av在线播放| 日本高清不卡在线| …久久精品99久久香蕉国产| 国产精品电影在线观看| 456国产精品| 日本一欧美一欧美一亚洲视频| 亚洲国产精品yw在线观看| 精品无人区太爽高潮在线播放| 亚洲成av人乱码色午夜| 亚洲国产91精品在线观看| 国产精品一区专区欧美日韩| 欧美午夜久久久| 成人在线一区二区| 色777狠狠综合秋免鲁丝| 亚洲激情视频在线| 91爱爱小视频k| 成人黄色av播放免费| 久久噜噜噜精品国产亚洲综合| 日韩欧美大尺度| 日韩hd视频在线观看| 欧美高清不卡在线| 国产精品高潮在线| 国产精品人人做人人爽| 欧美放荡办公室videos4k| 社区色欧美激情 | 亚洲国产精品va在线看黑人| 欧美区在线播放| 精品久久中文字幕| 欧美日韩国产黄| 九九热最新视频//这里只有精品| 91久久在线视频| 成人黄色av播放免费| 成人情趣片在线观看免费| 欧美色xxxx| 成人羞羞国产免费| 中文字幕av日韩| 国产精品海角社区在线观看| 亚洲精品国产美女| 久久天天躁狠狠躁夜夜爽蜜月| 国产精品91在线| 亚洲日本aⅴ片在线观看香蕉| 欧美激情免费观看| 久久久久在线观看| 国产精品流白浆视频| 久久亚洲精品国产亚洲老地址| 亚洲精品一区二区三区婷婷月| 欧美电影在线观看高清| 精品久久久久久亚洲精品| 国产精品成人一区二区三区吃奶| 欧美在线国产精品| 美女精品久久久| 国产一区二区三区在线播放免费观看| 久久人人爽人人爽人人片亚洲| 亚洲欧美激情视频| 亚洲欧美资源在线| 欧美精品videofree1080p| 一区二区三区在线播放欧美| 久久资源免费视频| 久久久国产视频91| 久久久www成人免费精品张筱雨| 98精品国产高清在线xxxx天堂| 国产精品久久久久秋霞鲁丝| 国产在线观看精品一区二区三区| 国产成人免费91av在线| 精品国产拍在线观看| 国产精品久久久久免费a∨| 日韩美女在线看| 亚洲欧美制服综合另类| 欧美黑人一级爽快片淫片高清| 成人国产精品日本在线| 国产69精品久久久久9999| 欧洲亚洲妇女av| 亚洲精品一区二区久| 一区二区欧美激情| 国产小视频国产精品| 久久亚洲精品中文字幕冲田杏梨| 久久精品国产一区二区三区| 久久久久中文字幕| 91伊人影院在线播放| 日韩专区中文字幕| 91色在线观看| 成人美女免费网站视频| 亚洲天堂免费视频| 粉嫩老牛aⅴ一区二区三区| 国产精品久久久久久久久影视| 中文字幕日韩电影| 精品久久久久人成| 亚洲一区二区三区四区视频| 成人在线中文字幕| 92国产精品久久久久首页| 丝袜美腿精品国产二区| 91免费看片在线| 国产日韩欧美中文在线播放| 欧美激情xxxx| 久久久国产91| 中文字幕欧美日韩在线| 日韩电影中文字幕av| 国产亚洲视频在线| 国产成人精品视频在线| 欧美多人爱爱视频网站| 丝袜美腿精品国产二区| 97碰在线观看| 中文一区二区视频| 欧美老女人www| 在线观看欧美日韩国产| 日本一欧美一欧美一亚洲视频| 久久久成人精品| 亚洲男子天堂网| 一本大道久久加勒比香蕉| 久久综合久久美利坚合众国| 在线观看亚洲视频| 日韩av三级在线观看| 欧美电影免费观看网站| 96精品久久久久中文字幕| 久久久久国产精品免费网站| 美女国内精品自产拍在线播放| 日韩成人av网址| 欧美激情三级免费|