我面临一个非常奇怪的错误在这里,我真的不知道如果我下面的正确的道路,以解决甚或如何得到解决。

这是问题所在,我面临着:我开始调试WPF的应用程序,它使用log4net,它能够和皇宫,它能够,并且当我试着让一个实体从我的数据库应用程序和有时VS挂了很多时间和之后一段时间的异常对话打开了展示一个消息,其中包含以下信息ContextSwitchDeadlock MDA:

CLR已经无法从过渡COM方面0x34fc1a0COM方面0x34fc258为60秒。螺纹拥有目的地方面/公寓是最有可能么做一个无抽水等或处理一个非常长的运行操作而不抽Windows消息。这种情况通常有负面性影响,甚至可能导致应用程序越来越不响应或存储器的使用积累不断地随着时间的推移。为了避免这

我复制的代码文件,以一个新项目,并删除旧的项目,看看如果我能让这一消息消失,认为它跟我的配置。我开始加入几件事情的时间,看看是什么导致它,并且当我log4net构代码错误再次出现。首先我列入通过程序集信息和后槽代码结构上应用程序的启动,并且绝对没有改变:(

因此,这里有我的调查结果:

  • 它只会发生在我使用log4net.
  • 它发生时,它能够负载一个实体从数据库(懒装载)。

我不知道可能是什么的来源这一错误。它只发生在调试在Visual Studio.我已经试过了以下的步骤"的启用和禁用Mda"部分的以下网页: http://msdn.microsoft.com/en-us/library/d21c150d.aspx, 但这并不能工作,与仍然挂起它的存储器的使用增加。

当我运行程序通常没有发生这种情况,所以我很肯定这不是一个陷入僵局,因为这个问题的建议: contextswitchdeadlock (我还试图解决方案发表那里)。

因此,我已经决定禁止log4net和重新启用它在部署我的应用程序。

我布这个问题,以找出是否有人已经面临这一错误,或者如果有人有一些建议如何得到解决。最后,它可以帮助别人面临的这个非常相同的问题。

在此先感谢,

豪尔赫*巴尔加斯.

有帮助吗?

解决方案

当使用的DebugAppender的所有实体数据库中的装载和它的所有数据写入debug output.这是造成ContextSwitchDeadlock MDA因为它tookmore于60秒的运行。

禁止DebugAppender解决我的问题。

感谢毛里西奥*谢弗用于尖端。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top