首页 > 解决方案 > 如何正确使用池连接?

问题描述

我正在开发一个应用程序C#,其中将执行“池”以连接到数据库。使用的数据库是SYBASE

我目前在我的 DataAccess 中有以下连接字符串class

using Sybase.Data.AseClient;

public static AseConnection PoolTest () {
    string stringConnection = "Provider = Sybase ASE OLE DB Provider; Data Source = localhost, 5000; Database = Test; Uid = SVJ; Pwd = 123456;" +
                                "Pooling = true;" +
                                "Max Pool Size = 15;" +
                                "Min Pool Size = 1;" + / *
                                "ConnectionReserveTimeout = 3;" + * /
                                "Connection Timeout = 10;" +
                                "Connection Lifetime = 1;" +
                                "ConnectionIdleTimeout = 1;";
                    conn = new AseConnection ();
                    conn.ConnectionString = stringConnection;
}

现在,在调用实例并生成连接的那一刻,它们的创建没有任何不便,但是在完成我的过程后,我conn.Close()在查看现有连接时结束了与数据库引擎的连接,它们停留在“等待命令”状态无限期,这会导致我在尝试在应用程序中执行另一个操作时出现问题,因为池已满,并且它应该使用处于“等待命令”状态的连接

我了解如果我在我的 App 控制器中终止连接,它会在数据库引擎中自动关闭,如果有人可以为我澄清这种情况是否正常,或者我有任何错误定义的参数,我提前谢谢你.

标签: c#sybaseconnection-pooling

解决方案


推荐阅读