asp.net – 什么原因“内部连接致命错误”

前端之家收集整理的这篇文章主要介绍了asp.net – 什么原因“内部连接致命错误”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一些ASP.Net网站(.Net v3.5)在具有sql 2000数据库后端的服务器上运行.几个月来,我一直收到看似随机的InvalidOperationExceptions,并显示“Internal connection fatal error”(内部连接致命错误).有时候会有几天之间,而其他时候每天有多个错误.

例外情况不限于一个站点,尽管它们共享业务和数据访问组件.错误似乎总是从sqlClient.TdsParser.Run()抛出.它有时从老派直接sqlCommand.Execute()调用抛出,而其他时候它是从Linq2sql代码抛出的.

网络人员已经确信,他们的最终没有错误或数据包丢失.有没有人经历过这个?可能是驱动程序问题吗?我们一直无法确定此异常的特定触发器.

我们在Windows Server 2003上运行II6.

解决方法

经过几个月的忽视这个问题,随着流量的逐渐增加,它开始达到临界质量.在很大的负载下,包括一些爬行动物,事情变得疯狂,这些错误不停地涌入.

通过尝试和错误,我们最终在使用后立即关闭sqlCommand或LINQ查询,sqlConnection没有立即关闭.相反,通过源自对LINQ连接的误解的一些粗暴的编程,DataContext对象只在请求结束而不是立即被处理(并且关闭).

一旦我们重构了这些方法,立即用C#“使用”块关闭连接(释放下一个请求的池),我们没有收到更多的错误.虽然我们仍然不知道连接池会如此混乱的根本原因,但我们能够停止此类型的所有错误.这个问题与我发布的另一个类似的错误一起解决了,在这里找到:Why is my SqlCommand returning a string when it should be an int?

原文链接:https://www.f2er.com/aspnet/250423.html

猜你在找的asp.Net相关文章