异步操作超出页面超时时间

在园子博客程序实现异步化改造后,在日志中发现这样的错误提示:

System.Web.HttpUnhandledException (0x80004005):

引发类型为“System.Web.HttpUnhandledException”的异常。

System.TimeoutException: 异步操作超出页面超时时间。

对应的英文错误信息是:an asynchronous operation exceeded the page timeout.

这个错误说明了某个异步任务的执行时间超出了Page.AsyncTimeout,AsyncTimeout的默认值是45秒,可以通过web.config中的设置进行更改。

<system.web>
  <pages asyncTimeout="60">    
  </pages>
</system.web>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用hiredis异步连接并设置超时时间的具体步骤: 1. 安装hiredis 在使用hiredis异步连接之前,需要先安装hiredis库。可以使用以下命令在Ubuntu中安装hiredis: ``` sudo apt-get install libhiredis-dev ``` 2. 建立异步连接 使用hiredis提供的`redisAsyncConnect()`函数建立异步连接。例如: ``` redisAsyncContext *redis = redisAsyncConnect("127.0.0.1", 6379); ``` 其中,第一个参数是Redis服务器的IP地址,第二个参数是端口号。 3. 设置连接回调函数和命令回调函数 连接回调函数在连接成功或失败时调用,命令回调函数在命令执行成功或失败时调用。例如: ``` redisAsyncSetConnectCallback(redis, connectCallback); redisAsyncSetDisconnectCallback(redis, disconnectCallback); redisAsyncCommand(redis, commandCallback, NULL, "SET key value"); ``` 这里的`connectCallback`、`disconnectCallback`和`commandCallback`都是回调函数,需要根据具体情况实现。 4. 设置异步连接超时时间 使用`redisAsyncSetTimeout()`函数设置异步连接超时时间。例如: ``` struct timeval tv = {1, 0}; redisAsyncSetTimeout(redis, tv); ``` 这里的超时时间为1秒。 5. 处理异步事件 使用事件循环库处理异步事件,这里以libevent为例。可以使用`event_base_loop()`函数来处理异步事件,例如: ``` struct event_base *base = event_base_new(); redisLibeventAttach(redis, base); event_base_loop(base, EVLOOP_NONBLOCK); ``` 这里的`redisLibeventAttach()`函数用于将redis连接附加到libevent事件循环中,`event_base_loop()`函数用于处理异步事件。 综上所述,使用hiredis异步连接并设置超时时间的具体步骤包括:安装hiredis库、建立异步连接、设置连接回调函数和命令回调函数、设置异步连接超时时间和处理异步事件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值