Reputation: 4038
In my global.asax, I am checking for a 404, and transferring to the 404 error page as per the below:
If HTTPExceptionInstance.GetHttpCode = 404 Then
Server.ClearError()
Response.TrySkipIisCustomErrors = True
Response.Status = "404 Not Found"
Server.Transfer("~/Invalid-Page.aspx")
End If
The problem is, my Invalid-page.aspx uses some session code (Session("somevariable")), which throws an exception "Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive. " because I am using a server.transfer (I believe this is a known issue?).
If I use a Response.Redirect, there is no problem. However, this would mean that the header of the error page is a 200, not a 404.
What would be the best workaround for this?
Upvotes: 1
Views: 2308
Reputation: 4038
Weird! Server.TransferRequest does exactly what I want without losing the session state!
Upvotes: 3
Reputation: 8421
Check if EnableSessionState is set to true in the page directive of Invalid.aspx
Upvotes: 0