[Wap]OnViewStateExpire异常的处理办法

 

[Wap]OnViewStateExpire异常的处理办法

编写者

日期

关键词

郑昀@ultrapower

2005-7-14

Wap ASP.NET

session timeout OnViewStateExpire

 

现象

我们的Wap页面由dotNET 编写而成,当页面停留时间过长后,由于IISsession超时时间是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

 

posted @ 2005-07-15 14:32  老兵笔记  阅读(1361)  评论(9编辑  收藏  举报