ExecuteReader requiere una conexión abierta y disponible. El estado actual de la conexión es Conectando
Cuando intente conectarme a la base de datos MSSQL a través de ASP.NET en línea, obtendré lo siguiente cuando dos o más personas se conecten simultáneamente:
ExecuteReader requiere una conexión abierta y disponible. El estado actual de la conexión es Conectando.
El sitio funciona bien en mi servidor localhost.
Este es el código aproximado.
public Promotion retrievePromotion()
{
int promotionID = 0;
string promotionTitle = "";
string promotionUrl = "";
Promotion promotion = null;
SqlOpenConnection();
SqlCommand sql = SqlCommandConnection();
sql.CommandText = "SELECT TOP 1 PromotionID, PromotionTitle, PromotionURL FROM Promotion";
SqlDataReader dr = sql.ExecuteReader();
while (dr.Read())
{
promotionID = DB2int(dr["PromotionID"]);
promotionTitle = DB2string(dr["PromotionTitle"]);
promotionUrl = DB2string(dr["PromotionURL"]);
promotion = new Promotion(promotionID, promotionTitle, promotionUrl);
}
dr.Dispose();
sql.Dispose();
CloseConnection();
return promotion;
}
¿Puedo saber qué pudo haber salido mal y cómo lo soluciono?
Edit: para no olvidar, mi cadena de conexión y la conexión están en estática. Creo que esta es la razón. Por favor avise
public static string conString = ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString;
public static SqlConnection conn = null;