0

バグが発生しているのか、それともどのように機能するのかわかりません。そのため、最近、この例外を解決しようとしておりMySql.Data.MySqlClient.MySqlException: 'There is already an open DataReader associated with this Connection which must be closed first.'、何が起こっているのかを確認するためにデバッグ セッションを開始しました。私が見たものは、私の頭の中で完全に計算されていません (添付のスクリーンショットを参照)。

を呼び出した後reader.Close()、プロパティIsClosedは false のままになり、(即時ウィンドウで) を繰り返し呼び出して.Close()もそれは変わりません。

これは予期された動作であり、私の問題は別の場所にありますか? それとも、これはバグであり、例外の原因ですか?

これは、MySql.Data現時点で .NET Standard をサポートしている唯一の v6.10.3-rc (nuget.org から) を使用している場合に発生します。また、コードは .NET Core 2.0 アプリにコンパイルされます。

UPD :周りにはタスクがありますが、リーダーはメインスレッドからのみ操作されます。また、readerは として宣言されDbDataReader、そこからMySqlDataReaderが継承されます。

UPD2 : どうやら、 を呼び出す((MySql.Data.MySqlClient.MySqlDataReader)reader).Close()と、リーダーが適切に閉じます。コネクタのバグと、それらが仮想メソッドを使用する方法のように見えます。右?

デバッガー セッション

4

2 に答える 2