我最近开始收到此错误:来自我的应用程序的"内部连接致命错误".错误随机发生.当它发生时,我的应用程序在接下来的几分钟内无法使用.
在仔细分析错误之后,我得出结论,这个错误只发生在我的应用程序中的一个方法中.此方法触发一系列简单的普通SQL查询,但它确实涉及多线程,但是所有线程都应该在此代码块之前处理.始终在特定SQL查询上发生错误.为了测试我已经消除了这个查询,这导致在下一行查询中发生错误.
这是堆栈strace:
Internal connection fatal error. -------------- Stack trace --------------- at Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionPolicyEntry.IntentionalRethrow(Exception chainException, Exception originalException) at Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionPolicyEntry.RethrowRecommended(Exception chainException, Exception originalException) at Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionPolicyEntry.Handle(Exception exceptionToHandle) at Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionPolicyImpl.HandleException(Exception exceptionToHandle) at Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionPolicy.HandleException(Exception exceptionToHandle, String policyName, ExceptionPolicyFactory policyFactory) at Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionPolicy.HandleException(Exception exceptionToHandle, String policyName) at Base.Sql.ExecuteScalar()
应用程序基于.NET 3.5构建,显然它使用企业库数据访问.应用程序在Win2003终端服务器上运行,它使用的是不同服务器上的Sql Server 2005数据库.
导致此错误的方法不是从GUI触发,而是从命令行触发,如果它具有任何意义.
如果有人建议从这里去哪里,我将非常感激.
NG.*_*NG. 10
我遇到了类似的问题,并在这个问题上投入了相当多的时间.因此,您需要逐个检查以下所有内容.
如果没有帮助,请告诉我.我可能有机会学到新东西.
像这样的奇怪错误通常是对非线程安全的对象进行多线程访问的结果.
我认为这里有一些问题.
using
吗?提供代码示例,我们也许能够发现问题......
对于 .NET Core 2.0 或更高版本,当 .csproj 文件中有以下内容时,也可能会发生该错误:
<ItemGroup>
<RuntimeHostConfigurationOption Include="System.Globalization.Invariant" Value="true" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
根据文档,此选项“使您能够消除应用程序对全球化数据和全球化行为的依赖”。除了较小的文件大小之外,我不知道这样做有什么好处,但 SqlConnection 不能使用它。
归档时间: |
|
查看次数: |
19304 次 |
最近记录: |