社区
C#
帖子详情
C# 上传大量数据时页面卡死
kekemans
2015-05-25 04:06:04
向数据库发送文件 数据过大时界面就会卡死 等操作完服务器库才会返回结果 如何解决卡死的问题啊 各路大神求解救
...全文
464
5
打赏
收藏
C# 上传大量数据时页面卡死
向数据库发送文件 数据过大时界面就会卡死 等操作完服务器库才会返回结果 如何解决卡死的问题啊 各路大神求解救
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kekemans
2015-05-26
打赏
举报
回复
那执行完了怎么返回说执行完了?
fangpengyu
2015-05-25
打赏
举报
回复
多线程操作,就不会影响主线程,比较简单的方法,定义一个TaskFactory taskFactory=new TaskFactory(); taskFactory.StartNew(()=>{里面是要放入多线程执行的代码 }); 比用Thread这个创建多线程简单,不懂上网查查就知道了
kekemans
2015-05-25
打赏
举报
回复
//上传数据实现 public bool UpLoading() { System.Threading.Thread.Sleep(100); string filename; int node_count = 0; filename = "/"; //遍历树型控件 if (GuanTreeView.Nodes[0] == null) { return false; } if (GuanTreeView.Nodes[0].Nodes[0] == null) { return false; } FileStream fs; string curr_path = System.Environment.CurrentDirectory; DateTime curr_date_time = new System.DateTime(); curr_date_time = System.DateTime.Now; int i = 0; node_count = GuanTreeView.Nodes[0].GetNodeCount(true); for (i = 0; i < node_count; i++) { if (GuanTreeView.Nodes[0].Nodes[i].Checked == true) { //组成文件名 string sel_string = this.GuanTreeView.Nodes[0].Nodes[i].Text.ToString(); string tmp1 = sel_string.Substring(0, sel_string.IndexOf('-')); int i_start = Convert.ToInt32(tmp1); int j = i_start / 1000; file_name = curr_path + "\\tmp\\" + txtBranCode.Text + curr_date_time.Year.ToString() + curr_date_time.Month.ToString() + curr_date_time.Day.ToString() + j.ToString() + ".txt"; //先发送一个指令过去 string zhiling = "9999|" + txtBranCode.Text + curr_date_time.Year.ToString() + curr_date_time.Month.ToString() + curr_date_time.Day.ToString() + j.ToString() + ".txt|1|"; //接收到返回指令后开始传文件 byte[] buffer = new byte[2048]; buffer = Encoding.Default.GetBytes(zhiling); LoginForm.m_socket.Send(buffer); System.Threading.Thread.Sleep(10); fs = File.Open(file_name, FileMode.Open); StreamReader sr = new StreamReader(fs); zhiling = "9999|" + txtBranCode.Text + curr_date_time.Year.ToString() + curr_date_time.Month.ToString() + curr_date_time.Day.ToString() + j.ToString() + ".txt|2|"; buffer = Encoding.Default.GetBytes(zhiling); LoginForm.m_socket.Send(buffer); System.Threading.Thread.Sleep(100); } } return true; } 这是上传的方法 怎么多线程不能卡死
邱_子墨
2015-05-25
打赏
举报
回复
楼上兄弟说的正解
於黾
2015-05-25
打赏
举报
回复
用多线程啊,不要把耗时的操作都放主线程里
ajax提交表单,导致浏览器
卡死
说来也奇怪,打开浏览器的调试模式,点击ajax的提交按钮,然后console和network都毫无反应,浏览器也
卡死
了,网页关不掉。 如图所示,点击按钮之后,整个
页面
毫无反应,然后此
时
浏览器已经成功
卡死
。我听到电脑...
几百万
数据
量的Excel导出会内存溢出和卡顿?那是你没用对方法!
导出是后台管理系统的常用功能,当
数据
量特别大的
时
候会内存溢出和卡顿
页面
,曾经自己封装过一个导出,采用了分批查询
数据
来避免内存溢出和使用SXSSFWorkbook方式缓存
数据
到文件上以解决下载大文件EXCEL
卡死
页面
的...
C#
实现大文件
上传
一、 功能性需求与非...支持大文件批量
上传
(20G)和下载,同
时
需要保证
上传
期间用户电脑不出现
卡死
等体验; 支持文件夹
上传
,文件夹中的文件数量达到1万个以上,且包含层级结构。 支持断点续传,关闭浏览器或刷新浏
c#
多线程界面卡顿_优化electron客户端卡顿的几种方案
框架技术选型方面使用了支持跨平台的Electron框架,其中一些核心功能就是文件的
上传
,和下载,考虑到node操作文件比较方便,起初把文件的下载
上传
操作放到主进程,在
大量
文件下载和
上传
时
,造成了界面的卡顿,现在就...
上传
大文件解决方案资源
这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问
上传
接口的
时
候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了:
上传
文件实体类: 看得...
C#
111,120
社区成员
642,538
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章