我们有一个用c#.net 3.5编写的Windows服务,它可以读取/写入访问数据库。
我们小心翼翼地将所有'新OleDbConnection()'实例放在'using'子句中,同样确保OleDBCommand被释放。
然而,在一个客户的服务器上,我们发现connection.Open()挂起超过5分钟,我们从日志中知道它发生在
System.Data.Common.UnsafeNativeMethods.IDBInitializeInitialize.Invoke(IntPtr pThis
我们知道该机器上出现两个问题,在这两种情况下还有更多 比同时挂在那个位置的一个线程。在一个案例中,3个线程中有2个 有问题的是在8秒的时间内达到Open()调用。可能第三个线程与其他一个线程同时到达呼叫,我不知道。 可能是多个线程同时尝试打开连接的事实 问题的原因还是别的什么?
谢谢, 利奥尔