ExecuteReader требует открытого и доступного соединения. Текущее состояние соединения: Соединение
При попытке подключиться к базе данных MSSQL через ASP.NET онлайн, я получу следующее, когда два или более человек подключаются одновременно:
ExecuteReader требует открытого и доступного соединения. Текущее состояние соединения - Соединение.
Сайт отлично работает на моем локальном сервере.
Это грубый код.
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;
}
Могу ли я узнать, что могло пойти не так и как это исправить?
Редактировать: не забывать, моя строка подключения и подключение оба в статическом. Я считаю, что это причина. Пожалуйста, порекомендуйте.
public static string conString = ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString;
public static SqlConnection conn = null;