Global.asax On_Start Variables resetting

  • Thread starter Thread starter Israel Ordonez Jr
  • Start date Start date
I

Israel Ordonez Jr

Hi everybody,
I am having a problem with an ASP.NET application i am working on. I new to
ASP.NET so I'm not sure if I'm doing this right.

I am working on a website that has an oil price listed throught several
pages. In the global.asax file i have the following code.

Sub Application_Start(ByVal sender As Object, ByVal e
As EventArgs)
' Fires when the application is started
Application("OilPrice") = "1.14"
Application("PrePay") = "1.14"
End Sub

I reference these variables on other pages. Everything works correctly up to
this point. I have another page were the price can be changed. Once a new
price is changed it reflects on all pages. The problem is after a few hours
or the next day. The price always resets to the "1.14" in the global.asax
file. It was my understanding that the Application_Start event only occurs
once, the first time the application is accessed.

Is my assumption correct? If so what could be causing the variables to be
reset? Thanks!
 
You are partially correct. The Application_Start is fired each time the
applicaiton is started. The application will, eventually, unload from the
server. The application will unload after the very last session closes out
from a timeout. That means, 20 minutes (default time for a session) after
the last person leaves the site the application will unload. The app will
then reload when someone hits it and start the entire process over again.
Applications have to unload eventually to free up resources.

Hope this helps,
Mark Fitzpatrick
Microsoft MVP - FrontPage
 
Thanks for the information. Could you possibly point me in the right
direction. What I need to do is have an admin page were the price can
be set every now and then, and then have all other pages reference that
variable. I know i can set variables in the appSettings section of the
web.config file, but those are readonly i wouldn't be able to set them
via a form.
 
You could store the values in a database, or an Xml file.
You would read them into you Application variable, and they're still
modifiable.
You could also include code to update your Application variable if the value
is modified
 
My Suggestion is store it in XML. Load it in to cache and make it Dependent
on XM file. As file is changed the XML value in chance get Discarded and
reload from XML file. This cache value u can refer any where in ur
application.

Hope this helps.

Thanks,

sswalia
MCSD, MCAD, OCA
 
Back
Top