ExecuteReader requer uma conexão aberta e disponível. O estado atual da conexão é Conectando
Ao tentar me conectar ao banco de dados MSSQL via ASP.NET on-line, receberei o seguinte quando duas ou mais pessoas se conectam simultaneamente:
ExecuteReader requer uma conexão aberta e disponível. O estado atual da conexão é Conectando.
O site funciona bem no meu servidor localhos
Este é o 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;
}
Posso saber o que pode ter dado errado e como corrigi-lo?
Edit: Para não esquecer, minha cadeia de conexão e conexão estão ambas estáticas. Eu acredito que este é o motivo. Por favor informar
public static string conString = ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString;
public static SqlConnection conn = null;