异步处理问题。.
c#中对数据库操作,
据说有异步处理。
如果可以请具体说一下。。谢谢~~!!!
c#中对数据库操作,
据说有异步处理。
如果可以请具体说一下。。谢谢~~!!!
解决方案 »
- 数据库连接Ip改为用域名连接
- ContextMenuStrip绑定数据库中的表,显示数据库中相应的记录 ,实现我要的功能如何设计省、城市、地级市(县)的数据库表结构
- treeview导致Page_Load的问题
- window 服务程序的用户界面?
- ASP.NET中,执行数据库插入操作问题
- 屏蔽继承Control的属性
- 在DataList项模板中添加一个TextBox,我从textBox中取值,得到的是原来缓存的值,得不到新输入的值,我不知道这么来清楚这个缓存?
- wpf 在离开一个界面时UdpClient没有释放干净,导致再次进入该界面创建并绑定端口时提示端口被重复占用异常
- C# 基础寻前辈指导
- 空间坐标算法
- c#窗体背景图片问题
- JAVA 中 mouseDown(mouseevent e) 事件里面有个 e.getX() e.getY() 相当于C#里面的什么函数??
比如有个长时间的查询,从用户体验来说,你不能让客户死等,
因此我们一般会
a 显示个进度条
b 让用户可以先去做其他操作,而程序在执行查询完毕后弹出即时提示信息表明查询完毕,用户再去查看结果。
为了达到此这样效果,我们就会用异步处理机制,一般是新开个新线程专门用于查询,流程大概如下:
A 用户点击了画面上的查询按钮
B 程序启动了一个线程去执行具体查询
C 程序显示查询进度(线程不段输出进度信息)或用户去做其他操作
D 线程执行完毕,此时进度条100%或弹出即时提示信息
、 E 用户查看查询结果4: 实现异步基本说用单独线程或委托去实现。
//委托方式(其实这是线程池方式,你用委托.net会在线程中你调配执行),比如
public delegate void AsyncCaller(MethodInfo method, object target);
AsyncCaller caller = new AsyncCaller(this.AsyncInvoke);
IAsyncResult result = caller.BeginInvoke(method, target, null, null);
while (!result.IsCompleted){
Thread.Sleep(100);
}
caller.EndInvoke(result); //自己写线程的方式,随便考段代码比如
ParameterizedThreadStart threadStart = new ParameterizedThreadStart(this.ThreadStart);
ExecuteSeed executeSeed = new ExecuteSeed();
executeSeed.ManagementObj = target;
executeSeed.MethodInfo = businessMethodDict[action].MethodInfo;
Thread thread = new Thread(threadStart);
thread.Start(executeSeed);
while (executeSeed.Result == ResultKind.WAIT){
if (executeSeed.Result == ResultKind.NG) throw executeSeed.Exception;
Thread.Sleep(200);
}
if (executeSeed.Result == ResultKind.NG) throw executeSeed.Exception;
2 xmlhttrequest或Ajax 另一个重点是解决画面刷新问题