I had an interview today and every thing was going very good, but then an interviewer asked me a question Where Does Static Variable Work in C#- At Application Level or At Page Level.I was not very much clear about this answer as I only knew that static variables are stored on heap and I didn't knew anything about web related thing.
Then he tried to make me more clear by giving an example that in a page I am using static variable and three users are accessing the page one of the user updates the value of static variable, What value will be visible to remaining two users an old copy or the update will be reflected.
I've always wondered how you can access the correct state of the current http context via a static method:
HttpContext.Current.Session["foo"] = "bar";
In any other program, anywhere else, my initial assumption about working with a static accessor like this is that changing it will change it across all threads. Similarly, another thread running my change it on me while I am trying to use it.But HttpContext.Current does not behave like this. It provides the appropriate state for the given request, even through the static accessor.
I have a question about C Sharp ASP.NET:Is there a difference (in code speed, resources) between:public static variable declared in public static class MyGlobals in a 'Code File' template;and the variable declared in a normal 'Class File' template;I use this variable in 2 different Class Files and also in _Default Page codebehind cs file.In fact in my case I need about 20 global variables of type List<string>.
I know the big difference, but one thing is confusing me. Cache works only on a single machine on webfarm and to make it globally we use Velocity or memcache.So is static does same, or is it already work globally ? eg
Cache["someid"] = "value"; //this will only work on single machine cache,
static string abc = "value"; // will this work on single machine or globally ?
my asp.net app uses dynamic stylesheets. so each of my pages uses a pre_init method to load the relevant stylesheet. the stylesheet is the same for ALL users of the app.for each page load, i don't want to query the database to determine which stylesheet to use. therefore, I simply load the stylesheet from a STATIC variable that I store when the app starts.
works fine locally. however, on the production server the STATIC variable is reset to Null after about 5 minutes. why is that?? is there a better way for me to handle this? Should I change something in IIS? Should I change the methodolgoy I am using to retreive the stylesheet?
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 ?
I want to access the static variable in my global.ashx file I am using classname.variable name for accessing the variable but the variable name dose not appear.Can someone tell me how to access static varialbe in *.ashx file.
I am creating a static variable and adding to session.This variable has value that is user specific. Now I am getting a problem with this users are complaining that they are getting values that should be another users. It's like a mix up with session. Could this be because of static variable declaration?
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...?
If I had a class with a static property that is set when a user loads a particular page, is that static value unique to that users session?
In other words, if a second user then loads the page and sets the static property, will each user have a distinct value, or will both use the second users value?
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?
I have a page with an update contentpanel, with 4 panels inside. Image buttons outside the update panel control control which panel is visible. I am trying to call an animation from a javascript function, but the animation doesn't work, everything else does.
I have an asp.net application with c# language. I have a common class which maintain the constants and static variables and fields. I also have a login page. If the user logs in successful I set IsLoggedInSuccessfull as a static boolean variable in common class.
My question is: Will this only work for a specific user session or for overall application ?
Edited: Based on some answers I got another question here.
let say i am using the Static method as Authenticate(User objUser). intention is to call this method when user clicked log in button. where on login button I am let say prepare the User object with certain parameters required for login, then passing to this method. what would be the impact there? let say I have single server for now (no server farm or garden). then there will be the single application level method to authenticate the user, right? and say 10000 user are going to logging in to this site/application then how authenticate() method comes in behaves ? will CLR automatically manage threading there ?
I have using Static Variable in My project.i want Change Static variable value because of transfer the value b/w two Forums... and I want Change value at run time...provide solution
Or else Any other way transfer value b/w two forms......
I've done a search and read a few things, All i'm trying to do is set a variable in the code file and call it in the page file asp.net vb.net 3.5. I've tried like this in the code file:
[Code]....
And in the design part of the page:
[Code]....
But it says that name isn't declaired. What am I doing wrong?
I am implementing paypal checkout in my website it is working but i want to make a simple fees calculator for paypal in order to help the user, i went to paypal and they said their fees amount is 2.9% +0.30 fixed, but it is not working for some cases, for example: deposit $1.34
2.9 % = $0.04 rounded + $0.30 = $0.34, so i should get $1 credited but paypal send in its response in the field FEEAMT which indicate the "PayPal fee amount charged for the transaction" 0.35,
I am needing to have a music player (something like a strip down at the bottom of the page that goes all the way across), that remains at the bottom even when the user navigates to another page within the same site.The purpose of this is to play music on the website no matter where the user goes on the website.
I have a static HTML page complete with client-side scripts and css (both are included in the html). I was wondering if it would be possible to embed this HTML page into an ASPX page and have the ASPX page be able to respond to javascript events that are raised from within the static html document? Does asp.net provide a specific control for this or can I use a frame?
I have a private static field in my Controller class in an MVC web application.
I have a static method in that controller that assigns some value to that static field, I want to apply lock on that static field until some other instance method in the controller uses the value stored in the static field and then releases it.
DETAILS:
I have a controller named BaseController having a static ClientId field as follows and two methods as follows:-
public static string ClientId = ""; static void OnClientConnected(string clientId, ref Dictionary<string, object> list) { list.Add("a", "b"); // I want the ClientId to be locked here, so that it can not be accessed by other requests coming to the server and wait for ClientId to be released:- BaseController.clientId = clientId; } public ActionResult Handler() { if (something) { // use the static ClientId here } // Release the ClientId here, so it can now be used by other web requests coming to the server. return View(); }