happyhippy

这个世界的问题在于聪明人充满疑惑,而傻子们坚信不疑。--罗素


    我写好WebMethod后,用VS2005自带的单元测试向导生成单元测试代码,并进行必要的初始化后,刚开始几次测试过程中一切正常。

     但反复测试了几次后,却冒出一个很奇怪的问题:单元测试通过了,但同时也冒出一个错误框,提示:检测到 DisconnectedContext

Message: 上下文“0x1989a8”已断开连接。正在从当前上下文(上下文 0x198838)释放接口。这可能会导致损坏或数据丢失。要避免此问题,请确保在应用程序全部完成 RuntimeCallableWrapper (表示其内部的 COM 组件)之前,所有上下文/单元都保持活动状态。

       于是我Google了一下,搜到了这篇文章:http://msdn2.microsoft.com/zh-cn/library/2c1czate.aspx ,可惜我又看不懂。无奈之下,把文章中最后的那一段配置拷贝到我自己项目的配置文件中,加进去之后就我就更惨了,这次单元测试都通不过了,只好再去掉mdaConfig配置。

       我开始怀疑是不是我的Web服务器端代码是不是有问题,于是又在WebService中写了个最简单的HelloWorld()方法,对HelloWorld()进行单元测试虽然也通过了,但又冒出了另一个错误:无法从一个或多个进程分离:
[3308]:被调用对象已与客户端断开连接。
要中止这个进程吗?  是(Y)/否(N)

      这下我就更晕了,连最简单的HelloWorld都出问题了。万般无奈之下,只好尝试关闭项目再重新打开,但打开项目后问题依然存在。最后当我又尝试注销操作系统,再打开项目后,一切才又恢复正常。

      不过现在依然不明白为什么会出现上面的错误,是我的程序有问题,Visual Stuido 2005有问题(以前在用VS.Net2005时没有遇到过这种问题),还是Windows有问题?


posted on 2006-08-22 22:00  Silent Void  阅读(4275)  评论(0编辑  收藏  举报