耗时web请求导致timeout出错。

89 篇文章 0 订阅
52 篇文章 0 订阅

refs:

https://our.umbraco.org/projects/starter-kits/ublogsy/ublogsy-bugs/30213-Request-Time-out-,-when-installing-ublogsy-Latest-Release-2100


1)web js ajax请求一个数据库存储过程,该过程比较耗时。在vs中调试时一切正常,而发布后会导致如下异常。

信息:System.Threading.ThreadAbortException: Thread was being aborted.
   在 SNIReadSyncOverAsync(SNI_ConnWrapper* , SNI_Packet** , Int32 )
   在 SNINativeMethodWrapper.SNIReadSyncOverAsync(SafeHandle pConn, IntPtr& packet, Int32 timeout)
   在 System.Data.SqlClient.TdsParserStateObject.ReadSniSyncOverAsync()
   在 System.Data.SqlClient.TdsParserStateObject.TryReadNetworkPacket()
   在 System.Data.SqlClient.TdsParserStateObject.TryPrepareBuffer()
   在 System.Data.SqlClient.TdsParserStateObject.TryReadByte(Byte& value)
   在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   在 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
   在 System.Data.SqlClient.SqlDataReader.get_MetaData()
   在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption)
   在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
   在 DbHelperSQL.RunProcedure(String storedProcName, IDataParameter[] parameters, String tableName, Int32 Times) 位置 D:\wu\Code\CannyIot\DTrms.DBS\DbHelperSQL.cs:行号 942
   在 DTrms.DAL.by_etor_tickets_fault.GetEtorScoreInMonth(by_user m, Int32 pageIndex, Int32 pageSize, String orderby, String strWhere)
   在 DTrms.BLL.by_etor_tickets_fault.GetEtorScoreInMonth(by_user m, Int32 pageIndex, Int32 pageSize, String orderby, String strWhere)
   在 DTrms.UI.services.etor.get_etor_faultmonthlyreport() 

solution:

有些说法是修改iis的thread pool回收时间,测试下来感觉不对,但有告知应该查询同一时刻win系统应用程序事件,发现是http请求超时,和文首的refs中的连接中的描述一致,故修改 web.config 如下:

 

<httpRuntime 
    maxRequestLength="1048576"
    executionTimeout="3600"
  />


解决。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值