Avinstallera MySql.Data och ersätt det med MySqlConnector .
(Upplysning:Jag är reportern för MySql-felet du hittade och den primära bidragsgivaren till MySqlConnector .)
Samt att åtgärda det problemet och många andra buggar , MySqlConnector lägger till äkta async I/O-stöd och prestandaförbättringar.
Om du inte vill byta bibliotek, en föga känd funktion i GetBytes
(stöds av både MySql.Data och MySqlConnector) är att skicka in en null
buffert returnerar den nödvändiga längden, så du behöver inte hårdkoda den:
// get the length of the column and allocate a buffer
var length = dbDataReader.GetBytes(0, 0, null, 0, 0);
var passwordHash = new byte[length];
// fill the buffer from the column
dbDataReader.GetBytes(0, 0, passwordHash, 0, passwordHash.Length);