Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Major mixup in two ASP.NET transactions
Message
From
01/09/2006 22:03:47
 
 
To
All
General information
Forum:
ASP.NET
Category:
Other
Title:
Major mixup in two ASP.NET transactions
Environment versions
Environment:
VB 8.0
OS:
Windows XP SP2
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01150471
Message ID:
01150471
Views:
85
I thought I saw wrong but when I decided to verify all this in my log, I found something extremely off.

I was in the Web site in an administrative panel doing an update in a store item. When I press save, instead of going back in the list, where it should be based on the site logic, I found myself in a completely non related page of the site. When I checked my log, I found that at the same time, someone else did a hit on the Web site. I found that I received that someone else's page instead of mine. Talk about this!

This has happened a few times today. We are becoming to have a little more hits than before so the chances of that situation is higher. But, what could be the cause for this?

But, this shouldn't happen. I believe I designed everything well.

On the first hit to the site, the global.asax will create an object of the framework. The framework is named Framework.dll and contains a namespace Framework. Here is the global.asax file:
<%@ Application Language="VB" %>

<object id="LXFramework" runat="server" class="Framework.Framework.App" scope="Application" />

<script runat=server>

    Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
        LXFramework.nApplicationMode = 3
        LXFramework.oServer = Server
        LXFramework.Initialize()
    End Sub

    Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
        LXFramework.oRequest = Request
        LXFramework.oResponse = Response
        LXFramework.oServer = Server
        LXFramework.BeginRequest()
    End Sub
    
    Sub Application_EndRequest(ByVal sender As Object, ByVal e As EventArgs)
        LXFramework.EndRequest()
        LXFramework.oResponse.Write(LXFramework.GetJavascriptMessage)
    End Sub

    Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
        LXFramework.ErrorSetup()
    End Sub

    Sub Application_PreRequestHandlerExecute(ByVal sender As Object, ByVal e As EventArgs)
        Dim loContext As Object = Context.Handler
        Dim loType As Object = loContext.GetType()
        Dim lcType As String = loType.ToString

        ' .vb and .config not accepted
        If lcType = "System.Web.HttpForbiddenHandler" Then
            Response.Redirect("Default.aspx")
        End If
        
        Dim loPage As System.Web.UI.Page = Context.Handler
        LXFramework.oPage = loPage
    End Sub
</script>
So, basically, as it is the case presently, I have no guarantee of receiving my own page result as it could be coming from someone else page result doing a hit at the same time. Where should I look for to verify for that? I thought that this was bullet proof in ASP.NET. But, I have to say it is kind of scary. Basically, we have to stop the production phase until this is resolved. If someone could suggest things to look for in an attempt to resolve the issue, that would be greatly appreciated.
Michel Fournier
Level Extreme Inc.
Designer, architect, owner of the Level Extreme Platform
Subscribe to the site at https://www.levelextreme.com/Home/DataEntry?Activator=55&NoStore=303
Subscription benefits https://www.levelextreme.com/Home/ViewPage?Activator=7&ID=52
Next
Reply
Map
View

Click here to load this message in the networking platform