Pool di connessioni MySQL C #

Sto avendo un’applicazione C# multi threading e utilizzo MySQL con una singola connessione a tutta l’applicazione. Ma quando due o più thread tentano di accedere al database allo stesso tempo, allora ottengo l’errore seguente:

Esiste già un DataReader aperto associato a questa Connection che deve essere chiuso per primo.

Il mio codice di connessione è sotto

 public static _connectionSetup = new MySqlConnection("Server=server ; Database=database;User ID=user;Password=pass;Pooling=true;"); 

e quando ho bisogno di usare la connessione sto usando il seguente codice: –

 using (MySqlConnection connection =_connectionSetup ) { using (MySqlCommand command = new MySqlCommand("proc", connection)) { .... } } 

Ho provato usato pooling=true e ho creato due connessioni separate per due thread diversi, ma sto ancora ricevendo l’errore.
Mi sto perdendo qualcosa?

Come posso implementare il pool di connessioni in modo che tutto il thread utilizzi una connessione separata e non causerà alcun problema?

Il pooling è triggersto per impostazione predefinita, quindi non è necessario il parametro della stringa di connessione.

Non condividere istanze MySqlConnection . Questo è tutto.

Il pooling non è qualcosa che implementa nel tuo codice, è fatto per te da ADO.NET.