При попытке подключения к базе данных 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;
Подробнее здесь: https://stackoverflow.com/questions/970 ... ons-curren
ExecuteReader требует открытого и доступного соединения. Текущее состояние соединения — Подключение. ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение