社区
C#
帖子详情
关于MessageBox引起程序被卡的问题
leon0905
2009-12-22 02:17:21
一个普通wpf程序,涉及到一些数据库的操作,在添加完数据库之后,需要弹出一个MessageBox显示保存成功.服务端有两种,一种是本机模拟的,一种是真实服务端,不在本地.当使用本机模拟服务端时一切正常,当使用真实服务端时,点击MessageBox的确定之后会失去响应很久(大约2至3分钟),调试发现当MessageBox.show执行完毕之后,就一直停着,没有任何操作,有没有高手能解释下.
...全文
1157
29
打赏
收藏
关于MessageBox引起程序被卡的问题
一个普通wpf程序,涉及到一些数据库的操作,在添加完数据库之后,需要弹出一个MessageBox显示保存成功.服务端有两种,一种是本机模拟的,一种是真实服务端,不在本地.当使用本机模拟服务端时一切正常,当使用真实服务端时,点击MessageBox的确定之后会失去响应很久(大约2至3分钟),调试发现当MessageBox.show执行完毕之后,就一直停着,没有任何操作,有没有高手能解释下.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
29 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
leon0905
2009-12-23
打赏
举报
回复
自己顶
leon0905
2009-12-23
打赏
举报
回复
没人能解释一下吗..
germ007
2009-12-23
打赏
举报
回复
DING
spring20130808
2009-12-23
打赏
举报
回复
我怎么没有遇到过,应该是代码问题
leon0905
2009-12-23
打赏
举报
回复
这里用异步好像没意义
hitlcyu19
2009-12-23
打赏
举报
回复
不要用主线程去做 this.dispatch.BeginInvoke()
leon0905
2009-12-23
打赏
举报
回复
如果是代码出异常,那为什么删了MessageBox之后就一切正常了呢
xuhuiqiang5216
2009-12-23
打赏
举报
回复
应该没关系的!它只是个消息提示! 要是卡住了,那肯定是代码出异常了!
leon0905
2009-12-23
打赏
举报
回复
现在连不上真实服务器,等以后有空再试,谢谢各位
lethwei
2009-12-23
打赏
举报
回复
你 UI 操作不会与其他线程互动吗? 问题肯定出在其他线程与 UI 线程交互的地方
一个方法可以模拟下, 你一般 MessageBox 停留几秒会引起错误, 把对应的 MessageBox 去掉, 改为 Thread.Slee(xxx); //xxx 为你停留的秒数, 看是否会有问题
leon0905
2009-12-23
打赏
举报
回复
messagebox应该只会阻塞UI线程吧,那我真想不出,为什么在本地模拟器好好的,连到远端服务器就有问题
lethwei
2009-12-23
打赏
举报
回复
光去掉 MessageBox 只是治标不治本, 问题根结还在于你线程同步的处理不够完善, 无法容忍线程的延迟(弹出一个MessageBox 相当于手工执行线程 Thread.Sleep), 如果不解决, 以后还会出各种莫名其妙的问题, 所以应该趁问题暴露彻底解决好
leon0905
2009-12-23
打赏
举报
回复
呵呵,其实也不是大问题,目前就是把messagebox去掉了,提醒一下大家,以后使用messagebox的时候小心一点,碰到和我一样的问题的时候注意看下是不是messagebox出了问题
anyqu
2009-12-23
打赏
举报
回复
同情!!!!
原来一直以为可以对程序随心所欲,后来发现程序可以对我随心所欲!
leon0905
2009-12-23
打赏
举报
回复
我也认为可能是这样的问题,但是现在情况是没有连真实环境一起正常,连了之后才有这样的问题,UI线程是没有访问远端的操作的,专门有个线程异步接收服务端发送的数据
ProjectDD
2009-12-23
打赏
举报
回复
楼主的意思是说 远程调用 相关时 出现问题,如果是这样那么,是不是检查一下,看看那些
WS调用中会不会出现跨越的mbox 比如服务端完成,弹出mbox这里是不是出现一个XML传输等
方面的原因, 反正 我觉得 这个不是大问题完全可以稍稍改一下设计来实现同样的效果而避免
一些远程通迅方面造成的不明困惑。
lethwei
2009-12-23
打赏
举报
回复
因为跳出 MessageBox, 引起了该线程的人工延迟, 可能由此导入了线程同步的问题, 建议你重点看下这方面
yzk2008
2009-12-22
打赏
举报
回复
帮忙顶一下。。
leon0905
2009-12-22
打赏
举报
回复
用什么技术都是根据项目需要的
zjh333
2009-12-22
打赏
举报
回复
妈呀,,都跟着微软到WPF了//
加载更多回复(9)
飞鸽传书(IPMessenger) 源码
文件传输会遇到文件读写
问题
,有的文件发送是被打开了,这样会造成访问违规,所以要有相应的处理,才能让
程序
更加稳健。
程序
启动时先读取用户配置文件,一般是"*.ini"格式,然后,使用Winsock的广播消息给整个...
C#
MessageBox
.show无法弹出,造成
程序
卡
死
气死,我以为
MessageBox
就直接show就好了,就可以提示用户了,但是,被自己坑死,由于线程
问题
,中间插入
MessageBox
引起
之前线程无法完成,又产生
MessageBox
线程,调试时一直奇怪,请教同时后,按ALT键唤醒了...
C# WinForm 多线程中弹出
MessageBox
阻塞窗口的实现方法
转载:http://www.hejingzong.cn/blog/viewBlog_58.aspx前些天写了个
程序
,为了不造成
程序
窗口的假死,用了多线程来处理一些事情,完了之后弹出
MessageBox
提示,但是发现弹出来的
MessageBox
提示框不在
程序
窗口的最...
4.2第一个窗口
程序
(1)运行VC++6.0,选择菜单命令“File/New…”,在弹出的New对话框中打开Projects选项
卡
,选项
卡
左侧列表框中有多种工程类型,要创建Win32应用
程序
,选中 Win32 Application选项,然后在右侧的“Project Name”中输入...
提示对话框(
MessageBox
)
提示对话框(
MessageBox
) 在视类和对话框类中可使用MFC函数中用的
MessageBox
()函数弹出提示对话框。这个函数原型为: int
MessageBox
(LPCTSTR lpszText,LPCTSTR lpsCaption=NULL,UINT nType=MB_OK); 参数:...
C#
111,127
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章