您现在的位置是:网站首页> 编程资料编程资料
asp.net线程批量导入数据时通过ajax获取执行状态_实用技巧_
2023-05-24
348人已围观
简介 asp.net线程批量导入数据时通过ajax获取执行状态_实用技巧_
前言
最近因为工作中遇到一个需求,需要做了一个批量导入功能,但长时间运行没个反馈状态,很容易让人看了心急,产生各种臆想!为了解决心里障碍,写了这么个功能。
通过线程执行导入,并把正在执行的状态存入session,既共享执行状态,通过ajax调用session里的执行状态,从而实现反馈导入状态的功能!
上代码: 前端页面
批量导入数据 导入进度:
后台页面:
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 Mvc中使用UEditor编辑器_实用技巧_
- 解析GridView自带分页及与DropDownList结合使用_实用技巧_
- 详解GridView自带的编辑删除更新功能_实用技巧_
- 有关.NET参数传递的方式引发的思考_实用技巧_
- 详解在DevExpress程序中使用TreeList控件以及节点查询的处理_实用技巧_
- 实现文件和文件夹的复制的方法_实用技巧_
- Asp.net Core 1.1 升级后操作mysql出错的解决办法_实用技巧_
- ASP.NET操作MySql数据库的实例代码讲解_实用技巧_
- .NET实现文件跨服务器上传下载的方法_实用技巧_
- .NET framework 4.0 安装失败回滚问题_实用技巧_
