3

我见过其他人报告System.Net.Sockets.SocketException异常,但他们主要涉及 Web 服务。我们没有调用任何网络服务。事实上,这个 ASP.NET 应用程序是一个单层应用程序,其 UI 和数据层包含在一个程序集中。要检索数据,我们手动打开连接、创建命令并执行读取器或使用数据适配器填充数据表,然后再将其传递到页面。

每月几次尝试执行命令时,我们得到System.Net.Sockets.SocketException. 我不知道是什么原因造成的。如主题中所述,我们正在访问 Teradata 数据库,因此我们使用 TdConnection、TdCommand、TdDataAdapter。

cmdSolutionName = New TdCommand(sSql, Con)
daSolutionName.SelectCommand = cmdSolutionName
daSolutionName.Fill(tmpTable) 'Exception is thrown here

有谁知道直接使用数据库连接而不是 Web 服务时会导致此异常的原因是什么?

4

1 回答 1

3

当我们使用 .Net Remoting 连接到另一台主机时,我在工作中看到了同样的错误。.Net Remoting 使用 TCP\IP 协议,我相信 TdCommand 也使用此协议。我发现问题的根源是“Trend Micro”进程,它是一种防病毒软件,它劫持了端口 8080 上的所有活动套接字。也许,您的防病毒软件正在“每月的那个时间”运行扫描并杀死您的所有通信。如果没有,试着想想另一个可能有害的过程。

于 2012-07-05T10:29:36.843 回答