gpt4 book ai didi

asp.net - "Internal connection fatal errors"是什么原因造成的

转载 作者:行者123 更新时间:2023-12-02 06:23:37 26 4
gpt4 key购买 nike

我有许多 ASP.Net 网站 (.Net v3.5) 在具有 SQL 2000 数据库后端的服务器上运行。几个月来,我一直收到看似随机的 InvalidOperationExceptions 消息“内部连接 fatal error ”。有时中间会间隔几天,而有时每天都会出现多个错误。

这一异常(exception)并不限于特定的一个站点,尽管它们共享业务和数据访问组件。该错误似乎总是从 SqlClient.TdsParser.Run() 引发。有时它是从老式的直接 SqlCommand.Execute() 调用中抛出的,而其他时候则是从 Linq2Sql 代码中抛出的。

网络人员向我保证,他们的一端没有错误或数据包丢失。还有其他人经历过吗?会不会是驱动的问题?目前我们还无法确定此异常的具体触发因素。

我们在 Windows Server 2003 上运行 II6。

最佳答案

在忽略这个问题几个月后,随着流量逐渐增加,它开始达到临界点。在重负载下,包括一些爬虫,事情变得疯狂,这些错误不断涌现。

通过反复试验,我们最终找到了一些 SqlCommand 或 LINQ 查询,这些查询的 SqlConnection 在使用后没有立即关闭。相反,由于对 LINQ 连接的误解而导致一些草率的编程,DataContext 对象仅在请求结束时而不是立即被释放(并关闭连接)。

一旦我们重构这些方法以立即使用 C#“using” block 关闭连接(为下一个请求释放该池),我们就不再收到错误。虽然我们仍然不知道连接池变得如此困惑的根本原因,但我们能够阻止这种类型的所有错误。此问题与我发布的另一个类似错误一起解决,在此处找到:Why is my SqlCommand returning a string when it should be an int?

关于asp.net - "Internal connection fatal errors"是什么原因造成的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1155263/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com