2013-12-18 3 views
0
{ 
DataSet obj= new DataSet(); 
       SqlParameter[] sqlParams = new SqlParameter[2]; 
       sqlParams[0] = new SqlParameter("@val", SqlDbType.Int); 
       sqlParams[0].Value = val; 
       sqlParams[1] = new SqlParameter("@val1", SqlDbType.Int); 
       sqlParams[1].Value = val1; 


       return DataAccessHelper.DataAccessHelper.SqlHelper.ExecuteDataset(connection, CommandType.StoredProcedure, "sp", sqlParams); 

} 

У меня установлен тайм-аут соединения в веб-конфигурации, и я не могу использовать тайм-аут команды в C#, я не использую sqlcommand. процедура занимает около 2 минут, поэтому я получаю эту ошибку. Пожалуйста, предложите мне решить эту проблему."Истекло время ожидания. Период ожидания истекает до завершения операции или сервер не отвечает. »

+0

Это происходит и в случае других хранимых процедур? Сколько времени требуется, если вы непосредственно выполняете хранимую процедуру из Management Studio? –

+0

нет, только при вызове этого sp.it занимает почти 2 минуты – ascii

+0

@ user3051282 Привет "connection" в методе ExecuteDataset - это объект соединения или строка соединения, в обоих случаях вы можете установить время ожидания соединения и установить его. –

ответ

0

Это попытка помочь, я не совсем уверен, действительно ли это настоящая проблема, или очень плохой дизайн базы данных и/плохой запрос запроса.

Если запрос занимает 2 минуты, вы, возможно, чувствовал себя на замке сеанса и другой запрос страницы простой получает тайм-аут ...

Что я имею в виду. Сеанс (когда вы его используете) блокирует каждое действие страницы для каждого пользователя. Теперь, если пользователь блокирует страницу в течение 2 минут, каждый другой запрос занимает 2 + 2 минуты, и так далее ... и в конечном итоге у вас есть тайм-ауты.

Отключение сеанса для этой части расчетов, или отправить его в фоновом потоке и просто показать результаты, или сделать лучше SQL запрос ...

Некоторые больше читать:
ASP.NET Server does not process pages asynchronously
Web app blocked while processing another web app on sharing same session

+0

часть сеанса находится в коде C#. Я только что объявил его для получения идентификатора входа в систему – ascii

Смежные вопросы

 Смежные вопросы