首先,我知道存在很多关于会话状态的问题和帖子。
只是为了让你知道:我使用" MasterPager"在我的申请中。
当我设置Session(" field")时,一切正常。但是当我重新加载我的页面时(当我回到另一页时),每个例子,Session(" field")都没有。
我的example.aspx页面:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
' It doesn't works, when I reload, Session is nothing
If Not Session("field") Is Nothing Then
example.Text = Session("field").ToString
End If
End If
End sub
Private Sub ClickButtonActionExample()
Session("field") = "example text"
' It works
example.Text = Session("field").ToString
End Sub
我的web.config:
<sessionState
cookieless="UseCookies"
cookieName=".authz"
mode="StateServer"
regenerateExpiredSessionId="true"
stateConnectionString="tcpip=127.0.0.1:42424"
timeout="20"
useHostingIdentity="true" />
答案 0 :(得分:1)
使用cookieless =“UseCookies”时,它需要客户端浏览器支持cookie。如果浏览器不支持cookie - 或禁用cookie,则会话状态将不起作用。
如果设置cookieless =“UseCookies”,将始终使用cookie - 即使浏览器或设备不支持它们,或者它们被禁用。
如果设备不支持cookie,会话信息将在后续请求中丢失,因为每个请求都将获得一个新ID。
我认为这是您的方案中发生的事情。