保持ADODB连接打开一段时间

时间:2011-05-02 07:49:58

标签: .net web-services interop com-interop adodb

我在ADO.Net应用程序中与SQL Server的ADO-DB连接有问题。 我在Web服务启动时打开连接,在它结束时关闭它。只要服务运行,就会打开连接。 我将连接传递给实际处理事务的COM dll。 我现在面临的一个问题是,该命令执行时会在一段时间之后抛出异常,尽管之前的同一个执行工作。但是连接状态只显示Open。 因此,我们必须关闭连接并打开它并重试事务。这种方式有效。 但我想知道根本原因是一个实际的解决方案。 还有一件事,我们现在只有一个客户。

1 个答案:

答案 0 :(得分:0)

在应用程序的整个生命周期内保持连接打开是一种不好的做法。连接可能会超时,可能会出现一些网络问题等。连接可能会失败并且无法避免 - 您必须捕获异常并以某种方式处理它。此外,这不允许您同时处理多个请求,因为在单个连接上不能有两个并发事务。

正确的方法是为每个Web服务请求创建一个新连接。 .NET默认使用连接池,因此性能影响非常小。

相关问题