8

次の例外が発生し続けます。

Using cnn As SqlConnection = New SqlConnection(ConnectionStr)
    cnn.Open()  'I am fine up to here'
End Using       'Here I am getting the following exception'

手動でcnn.Dispose()を呼び出すと、同じ例外が発生します。コードのほとんどの場所で問題ないようですが、この1つの関数だけでは、ThreadAbortExceptionが発生し続けるため、開いた接続を閉じることができません。私は困惑しています、何かアイデアはありますか?ヒントはありますか?これが私が得る例外です:

System.TypeInitializationException: The type initializer for 'System.Data.ProviderBase.DbConnectionClosedPreviouslyOpened' threw an exception. ---> System.Threading.ThreadAbortException: Exception of type 'System.Threading.ThreadAbortException' was thrown.
   --- End of inner exception stack trace ---
   at System.Data.ProviderBase.DbConnectionInternal.CloseConnection(DbConnection owningObject, DbConnectionFactory connectionFactory)
   at System.Data.SqlClient.SqlInternalConnection.CloseConnection(DbConnection owningObject, DbConnectionFactory connectionFactory)
   at System.Data.SqlClient.SqlConnection.Close()
   at System.Data.SqlClient.SqlConnection.Dispose(Boolean disposing)
4

1 に答える 1

1

誰かが置いた恐ろしい「ファイナライズ」メソッドがありました。それはトリガーを続け、接続を閉じようとしました。それは数時間無駄でした!!! いつの日か、コード内のすべてのFinalizeメソッドを削除する予定です-それまでは-それを吸い上げてください!

于 2012-04-26T17:47:06.480 に答える