我在我的 .net(Azure) 应用程序中收到此错误:- 只有在 enableSessionState 设置为 true 时才能使用会话状态,无论是在配置文件中还是在 Page 指令中...
我正在重写 URL(为此使用 server.transfer)
当我直接或使用 Response.Redirect 访问页面时,没有错误。
任何想法?
我正在使用下面的代码。
公共类 URLRewriter 实现 IHttpModule Public Sub Init(ByVal inst As System.Web.HttpApplication) 实现 System.Web.IHttpModule.Init AddHandler inst.BeginRequest, AddressOf Me.OnBeginRequest End Sub
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.