Я поддерживаю веб-приложение ASP.Net 3.5, и пользователи испытывают ошибку тайм-аута через 30 секунд при попытке запустить отчет. Оглядываясь в Интернете, кажется, что достаточно просто изменить время ожидания в коде, к сожалению, я не могу получить доступ к коду и перекомпилировать. Есть ли способ настроить значение по умолчанию для веб-приложения, рабочего процесса, IIS или всей машины?
Вот трассировка стека до точки, где он находится в System.Data, на случай, если я пропущу какую-то другую проблему:
[SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +1948826
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4844747
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2392
System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +33
System.Data.SqlClient.SqlDataReader.get_MetaData() +83
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +954
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +162
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +141
System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +12
System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +10
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +130
System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) +162
System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) +115
- Edit
Должно быть что-то вне самого кода - я скачал базу данных и запустил ее на том же веб-сайте, установленном на тестовом сервере, и он работает дольше 30 секунд и возвращает отчет. Я сравнил файлы machine.config и web.config из каталога .Net в режиме live и test, и они кажутся одинаковыми, сравнил две настройки IIS, также посмотрел конфигурацию SQL Server, и единственное отличие состоит в том, что live сервер кластеризован на 64-битном W2K3, а тестовый сервер на 32-битном.