C# - Application Variable Refresh In An Mvc Web App?
Feb 4, 2010
I have an Application level variable that gets loaded from a database when the application starts. Now when accessing the variable, I check to see if it is not null. If it is not null I use it, if it is null I initialize it from the database, then use it.
My question is how can I make sure that this variable is refreshed atleast once a day? Is there something in .net or the MVC framework to help with this?
Does IIS unload an application if it has not accessed for a while? If so then my variable would be refreshed each time the app is reloaded.
I want to refresh my page not at regular intervals but by using a value from a variable which may keep changing and also by checking conditions. I mean if the value is less than some value then only page refresh.
I have an application containing many aspx-scripts.
How can I refresh the sessionvariables before timeout on the server independent of which script is loaded in the browser? (to prevent timeout when the browser is not used so the sessionvariables is refreshed)
When I used Coldfusion, I run the application in a frame and updated the session-variables by using a hidden-frame, but this techniqes dont work in aspx.
I Want To Use A Session Variable From One Application to Another Application. Is That Possible in ASP.NET 3.5 Or Greater To Use Session Variables As i Required. My Both Applications Host In Same IIS Server.
I have an ASP.NET/C# application that exports some data into an Excel spreadsheet using COM interop at the click of a Button control. When I click the button, Excel is opened with the generated spreadsheet. For what it's worth, here is the button code:
<asp:Button ID="export" Text="Export to spreadsheet" runat="server" OnClick="Export_Workbook" />
This works fine, except when I click the button, close the subsequent spreadsheet, and refresh the page. When the page is refreshed after clicking the button, the call to Export_Workbook() is made again and so the spreadsheet opens again. Firefox, for example, says this when you refresh: "To display this page, Firefox must send information that will repeat any action (such as a search or order confirmation) that was performed earlier." This is something I want to avoid.
I'm sure there's a better way to accomplish what I'm trying to do, I'm just not sure what the best approach is.
I'm using a 3rd party web service in my ASP.NET application. Calls to the 3rd party web service have to be synchronized, but ASP.NET is obviously multi-threaded and multiple page requests could be made that result in simultaneous calls to the 3rd party web service. Calls to the web service are encapsulated in a custom object. My thought is to store the object in an application variable and use the C# lock keyword to force synchronized use of it.
I'm nervous, because I'm new to multi threaded concepts and I've read that you shouldn't lock a public object (which my application variable effectively is). I've also read that if the locked block of code fails (which it could if the web service fails), then it could destabilize the app domain and bring down the application.I should mention that the 3rd party web service is rarely used in my website and it's going to be rare that 2 requests to it are made at the same time.Here's a rough code sample of how I'd make calls to the web service:
i am redirecting from a 3rd party site to my application where i am getting the responses of credit card no,cvv no and exp date into my application.but the session data that had come from the previous page is being lost.i have tried using application instead of session and its working fine will there be any disadvantage of using application over session
I have two urls that are supposed to lead to the same actual folder.
I can't do a redirect because the websites are built so they question the URL and perform accordingly.
So I built two application in the IIS (I tried using a virtual directory for one of them, but I kept crashing on the web.config can not be read). Everything works perfectly except the Application variables which are different between the two addresses. (Specificly I'm counting the number of current users logged on).
I want to Change application variable value on closing browser, Problem is; I am using sessionState mode="StateServer" and in this mode, Session_end event does not fire in global.asax
how i can detect session_end or browser close and then change the application variable?
I need to make the connection string in my vb.net web application be passed into the app externally. This is so I can re-driect the app to use either a test or production database. The same idea as a .INI file in a windows base system. someone suggested to me I use XML but I dont know how to do that.
I understand the problem of the static variable inside a class in the web application, now I try to create a simple class to deal with SQL Server for example, so I created Static Method inside this class, this static method used in insert, update and delete from database, I wonder if this is safe, and there is no problems will appear ?
My application is MVC Web App Chat Room , it supports following features:1.Create/Join/Close room 2.Send message in room (just live message, offline message might be supported in future)I have done logic for application, but I'm considering where to save chat room data (message,room information, and users in room) ? I see there are 2 options:1. Application variable2. Using file or database-What if I saved in Application variable:In case of there are 2000 rooms and 10000 users online, mean I have to persistence in Application variable (actually in RAM memory) information of 2000 rooms, more than 10000 message (text), these numbers might be increased by second if there are more users online in real time. and what's next ? I don't know what will happen to server, crash ? or my web app will be terminated ? whatever I don't want both results !
-What if I saved in file or DB (i.e: SQL Server DB) Because of web application, clients have to send request every 1 second to fetch data (messages and user list in room). So in case of there are 2000 rooms and 10000 users online, means they will make 10000 requests every 1 second to DB. I don't know what will happen to DB, there are a lot of connections and in EVERY 1 second, can DB still be alive to serve request ?I don't know where saving is good now because both seem are bad solution
My application is Web App Chat Room , it supports following features:
1.Create/Join/Close room
2.Send message in room (just live message, offline message might be supported in future)
I have done logic for application, but I'm considering where to save chat room data (message,room information, and users in room) ? I see there are 2 options:
1. Application variable
2. Using file or database
-What if I saved in Application variable: In case of there are 2000 rooms and 10000 users online, mean I have to persistence in Application variable (actually in RAM memory) information of 2000 rooms, more than 10000 message (text), these numbers might be increased by second if there are more users online in real time. and what's next ? I don't know what will happen to server, crash ? or my web app will be terminated ? whatever I don't want both results!
-What if I saved in file or DB (i.e: SQL Server DB) Because of web application, clients have to send request every 1 second to fetch data (messages and user list in room). So in case of there are 2000 rooms and 10000 users online, means they will make 10000 requests every 1 second to DB. I don't know what will happen to DB, there are a lot of connections and in EVERY 1 second, can DB still be alive to serve request ?
I don't know where saving is good now because both seem are bad solution :(. What is your opinion ?
I'm wondering if it's possible to perhaps set something up in the global.asx file or something that will build a list of all currently active user sessions that I can then use to display to a logged in user, who else is currently logged in.
Currently I store my userId's in a session variable Session["IsLoggedIn"], so basically i want to build an global array of some sort that will store all these active userId's.
Let me know if this is possible, or who i would go about accomplishing this sort of thing. BTW, I'm not using asp.net's built in membership thing for login accounts.
I have a web application using window authentication. There are a search page and a edit page in the application. In search page, user can enter some search criterias in the textboxes and the search result will be displayed in the gridview by clicking the "Search" button. User can select any row from the gridview and it will take him to the edit page. In the edit page, there is a "Back" button to take the user back to the search page. I use session variables to remember what the search criterias the user entered in the textboxes and what page number the user was in the gridview. So when the user goes back to the search page, the textboxes are pre-populated with the search criterias and the gridview is displayed in the correct page number.
The problem is: If user1 opened one browser window and did a search using search criterias1, then user1 opened a 2nd browser window and did a search using search criterias2. When the user1 went back to the search page from the edit page using the first browser window, all the textboxes and page numbers are from the 2nd browser window, instead of the 1st one. Can anyone explain this problem to me and how to prevent it? It will be helpful too if you can give me some links about the similar problem. I am thinking if the same user logged on two different machines and did the search on each machine, what is the result?
want to make sure I am not assuming something foolish here, when implementing the singleton pattern in an ASP .Net web application the static variable scope is only for the current user session, right? If a second user is accessing the site it is a different memory scope...?
I need to keep a global variable throughout the whole time the user is at my site, but do I use Application or a static class? The string variable should store a region name and my site makes a few changes depending on which region that has been set.
I read that Application was mainly for classic ASP, but I also read that a static class cannot be instantiated at runtime (e.g. when the user has logged in).
So, have I got something wrong here and which solution do I use?