45IT.COM- 电脑学习从此开始!
DIY硬件教程攒机经验装机配置
设计Photoshop网页设计特效
系统注册表DOS系统命令其它
存储主板显卡外设键鼠内存
维修显卡CPU内存打印机
WinXPVistaWin7unix/linux
CPU光驱电源/散热显示器其它
修技主板硬盘键鼠显示器光驱
办公ExcelWordPowerPointWPS
编程数据库CSS脚本PHP
网络局域网QQ服务器
软件网络系统图像安全
页面导航: 首页 > 电脑学院 > 服务器技术 >

webservice异步回调,引起数据绑定失败,导致服务器问题

电脑软硬件应用网 45IT.COM 时间:2007-03-12 08:59 作者:Joes

            上周五,经过不懈努力,终于将网站升级上去了。升级完成以后都凌晨四点多了。本以为总可以支持几天没问题吧。没想到今天早上技术总监就来电话说,w3p.exe频繁回收,网站访问很慢。没办法,还是回公司找找原因吧。
            回到公司后,和开发经理一起通过单页面压力测试终于发现可能是由于新加的webservice异步回调的方法有问题。经常出现数据绑定失败的错误,差不多3分多钟就会有一次绑定失败。频繁的应用程序出错,极大的占用了服务器资源。
            将异步回调的方法改掉后,重新发布,再进行测试。发现没有再发生类似的错误,而且网站的页面访问速度也快了不少。
            经过开发经理的分析,引起这次问题的主要原因就是因为异步回调的方法引起的。具体原因还有待我们继续研究。

            通过查看相关的参考资料得知。同步和异步的方式有个区别: 主线程和后台线程. 主线程和UI有关,用来刷新页面和绑定数据。而异步调用的是后台线程,它无法刷新页面和数据源。 如果要做到异步绑定的功能的话,得控制线程。

            引起我们遇到的上述问题的主要原因在于:

            用于应用程序的后台线程并不直接与应用程序 UI 交互,这一点相当关键。如果后台线程试图修改应用程序的 UI 中的控件,该控件就可能会处于一种未知的状态。这可能会在应用程序中引起较大的问题,并难于诊断。例如,当另一个线程正在给动态生成的位图传送新数据时,它或许不能显示。或者,当数据集正在刷新时,绑定到数据集的组件可能会显示冲突信息。

            更多的参考可以查看:

http://www.microsoft.com/china/msdn/library/architecture/architecture/architecturetopic/SCArchDeGuide/Chapter6UsingMultThr.mspx?mfr=true

 

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: baidushare.htm
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐知识