Recibo el mensaje de error "No se permite nueva transacción porque hay otros subprocesos en ejecución" en una aplicación en la que estoy trabajando. Ha surgido durante la refactorización y específicamente durante la creación de un conjunto de pruebas.¿Hay alguna manera de detectar lectores abiertos en una SqlConnection?
Me doy cuenta de que, al mirar a mi alrededor, probablemente tenga abierto un lector de datos cuando estoy creando la transacción, sin embargo es una aplicación compleja y no es obvio dónde está el problema. Por lo tanto, me gustaría poder determinar qué lectores están conectados a SqlConnection en cuestión.
Idealmente, quiero poder agregar un reloj en Visual Studio y luego pasar al modo de depuración para ver cuándo cambia el número de lectores conectados.
¿Hay alguna manera de hacer esto? Estoy trabajando en C#.
Gracias de antemano.
Martin
Guau, alguien votó esta respuesta (que me tomó horas para hacer ejercicio) como "no útil". Me encantaría saber por qué. – marsbard
Idiotas en todas partes. Buen hallazgo: sabía que no había forma de obtenerlo de la interfaz documentada, pero obviamente la conexión necesitaba tener una referencia en alguna parte. Bueno, al menos un recuento de lectores abiertos. – TomTom
Bien hecho. Votado +1. – TomTom