[Wap]OnViewStateExpire异常的处理办法编写者
日期
关键词
郑昀@ultrapower
2005-7-14
Wap ASP.NET
session timeout OnViewStateExpire
现象
我们的Wap页面由dotNET 编写而成,当页面停留时间过长后,由于IIS的session超时时间是20分钟,这时候再点击页面上的控件,它可能报告如下错误:
页面是这样的:
/Mail 中的服务器错误
更多System.Exception
该页所需的会话状态已不可用。或者是会话已过期、客户端未发送有效的会话 Cookie,或是会话状态的历史记录太小。请尝试增加历史记录大小或延长会话到期期限。
方法:OnViewStateExpire
手机用户肯定是不可接受这种用户体验的。
解决办法
对于这种OnViewStateExpire异常,在vb.net中是可以这么写的:
代码:
Protected Overrides Sub OnViewStateExpire(ByVal e As EventArgs)
'viewstate has expired
Me.RedirectToMobilePage("errorEvent.aspx?ref=viewstate")
End Sub
从而让页面主动捕获到这个错误,并前往重新登录的页面或者统一错误页面。
并且,为了避免其他情况下抓不到错误,导致用户看到非正常报错页面,应该每个页面都这么做:
代码:
Private Sub Page_Error(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Error
' Add some code here to log error if desired
Me.RedirectToMobilePage("CustomErrorPage.aspx")
End Sub
。
编写者
日期
关键词
郑昀@ultrapower
2005-7-14
Wap ASP.NET
session timeout OnViewStateExpire