После долгих проб и ошибок, наконец, я обнаружил, что это проблема с SqlConnections.То, что я делал, это открывал соединение при создании объекта уровня DAL.Таким образом, всякий раз, когда два метода из одного и того же объекта DAL вызывались вместе, он генерировал ошибку.Я решил это, открывая и закрывая соединение при каждом обращении к базе данных. Теперь все отлично работает .Это также позволяет максимальное количество пользователей использовать приложение одновременно.Ниже приведен пример кода из DAL: -
DataTable dt = new DataTable();
try
{
using (SqlConnection sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ToString()))
{
if (sqlcon.State == ConnectionState.Closed)
sqlcon.Open();
SqlCommand sqlCommand = new SqlCommand
{
Connection = sqlcon,
CommandType = CommandType.StoredProcedure,
CommandText = "MyStoredProc"
};
sqlCommand.Parameters.AddWithValue("@Parameter1", Parameter1);
using (SqlDataAdapter adapter = new SqlDataAdapter(sqlCommand))
{
adapter.Fill(dt);
}
}
return dt;
}
catch (Exception exp)
{
LogHelper.LogError(string.Concat("Exception Details: ", ExceptionFormatter.WriteExceptionDetail(exp)));
throw exp;
}
finally
{
dt.Dispose();
}
Пожалуйста, опубликуйте лучший способ сделать это, если вы знаете, спасибо.