我在.net(Azure)应用程序中收到此错误: - 会话状态只能在enableSessionState设置为true时使用,无论是在配置文件中还是在Page指令中......
我正在重写URL(我正在使用server.transfer)
当我直接访问页面或使用Response.Redirect时,没有错误。
有什么想法吗?
我正在使用以下代码。
Public Class URLRewriter 实现IHttpModule Public Sub Init(ByVal inst As System.Web.HttpApplication)实现System.Web.IHttpModule.Init AddHandler inst.BeginRequest,AddressOf Me.OnBeginRequest 结束子
Public Sub OnBeginRequest(ByVal app As Object, ByVal e As EventArgs)
Dim inst As HttpApplication = CType(app, HttpApplication)
Dim req_path As String = inst.Context.Request.Path
Dim trans_path As String = ""
Select Case req_path.ToLower()
Case "/firstpage"
trans_path = "/Default.aspx"
Case "/secondpage"
trans_path = "/About.aspx"
Case "/testapp"
trans_path = "/Test/Test1.aspx"
Case Else
trans_path = "/"
End Select
If Not trans_path = "/" Then
inst.Context.Server.Transfer(trans_path)
End If
End Sub
结束班
在web.config中我也在httpModules下添加了这个标签: -
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="URLRewriter" type="URLRewriter"/>
<add type="System.Web.SessionState.SessionStateModule" name="Session" />
after adding above code in my azure application url rewrite is working fine, but when I try to use session its giving me error(Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive.) means its lossing the session during url rewrite.