Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Major mixup in two ASP.NET transactions
Message
From
02/09/2006 04:53:51
 
 
To
01/09/2006 22:03:47
General information
Forum:
ASP.NET
Category:
Other
Environment versions
Environment:
VB 8.0
OS:
Windows XP SP2
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01150471
Message ID:
01150489
Views:
26
Hi,
Hi,

NET handles requests simultaneously - you can't rely on any request completing before another BeginRequest occurs. So, for example, by the time your EndRequest fires there's no guarantee that LXFramework.oResponse is pointing to the object reference assigned in the BeginRequest(). Same type of problem could occur anytime you reference these objects during page processing...

HTH,
Viv


>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.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform