Я получаю эту ошибку в моем приложении .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.OnBeginRequestEnd 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
End Class
В 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.