Asp.net Web配置文件更改超时异常

时间:2018-01-17 17:43:12

标签: c# asp.net iis stored-procedures web-config

我正在开发一个基于asp.net技术构建的Web应用程序,并且在按钮点击事件上有一个存储过程调用,执行时间大约为1分钟到2分钟,页面在异常下面抛出一次它超过30秒。 代码文件丢失,因为应用程序是由其他人开发的,但我可以通过IIS访问web.config文件。

Web配置文件需要进行哪些更改才能解决问题:

下面是我得到的错误:

以下是错误:

应用程序中的服务器错误。

等待操作超时   描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.ComponentModel.Win32Exception:等待操作超时

来源错误:

在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。

堆栈追踪:

[Win32Exception(0x80004005):等待操作超时]

[SqlException(0x80131904):超时已过期。操作完成之前经过的超时时间或服务器没有响应。]    System.Data.SqlClient.SqlConnection.OnError(SqlException异常,Boolean breakConnection,Action`1 wrapCloseInAction)+388    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,Boolean callerHasConnectionLock,Boolean asyncClose)+717    System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj,Boolean& dataReady)+4515    System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()+61

1 个答案:

答案 0 :(得分:0)

使用SqlCommand.CommandTimeout Property

  

获取或设置在终止执行命令并生成错误的尝试之前的等待时间。

     

默认时间:等待命令执行的时间(以秒为单位)。   默认值为30秒。

更新我们ConnectionString web.config中的某些内容,例如

 "Data Source=**;Initial Catalog=**;Timeout=90;Persist Security Info=True;User ID=**;Password=**"

在cs文件中阅读此内容     SqlCommand command = new SqlCommand(queryString,connection);     command.CommandTimeout = ConfigurationManager.AppSettings [" CommandTimeOut"]

或如果要在查询时直接设置

// Setting command timeout to 90 seconds
command.CommandTimeout = 90;