8

テスト接続を実行すると、明確なセッション ブラウザーが表示されると思いますが、プログラムの最後に、セッション ブラウザーに 6 つ以上のセッションが表示されます

これはコードです:

private void testConnection()        
{   
        string connectionString = "data source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=1111)(PORT=1699))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = abcd)));Min Pool Size=10; Connection Lifetime=120;";

        OracleConnection oraConn = new OracleConnection(connectionString);

        try
        {
            oraConn.Open();
        }

        catch (Exception e)
        {
        }

        finally
        {
            oraConn.Dispose();
            oraConn.Close();
        }

    }

セッション全体を閉じるためのソリューションが必要です。

4

2 に答える 2

3

その理由はおそらく接続プーリングです。MSDN から:

OracleConnection.Close メソッド

Close メソッドは、保留中のトランザクションをロールバックします。次に、接続を接続プールに解放するか、接続プールが無効になっている場合は接続を閉じます。

そのため、接続インスタンスは C# 内で破棄されますが、接続はプール内で開いたままになる可能性があるため、次に要求したときに新しい開いている接続インスタンスがすぐに提供される可能性があります。

于 2012-11-01T14:14:55.150 に答える