Why HttpContext.Current.Session Is Null In Global.asax
Nov 15, 2010
I'm using VS2010 and created a simple asp. web forms application, using Development Server to test it. I try to store user data - queried from sql server - in the session, since I don't want to access database in every request. I'm using the 'Application_AuthenticateRequest' and the 'Session_Start' methods.
First round:
AuthenticateRequest called. The following code ran:
[Code]....
The _current variable is a private static field published through a static property. In the first round the Session is null, and I think it's ok because the Session_Start not called yet. The Session_Start looks like this:
protected void Session_Start(object sender, EventArgs e)
{
Session["EMPLOYEE_DATA"] = EmployeeFactory.Current;
}
In the next round the Session_Start is not called of course but in the AuthenticateRequest I can't access to the session. The HttpContext.Current.Session is null and the this.Session reference throw a HttpException says the "Session state is not available in this context".
However I can access the Session from any of the page_load events but it's a bad practice I think that I put authentication every page_load.
View 1 Replies
Similar Messages:
Aug 20, 2010
I am getting HttpContext.Current.Session is null.Will this be a problem if we have application hosted in web farm.
View 1 Replies
Jan 17, 2011
i'm storing in HttpContext.Current.Session current user, SiteUser is single-tone class that presents current active siteuser, and when he logged i'm creating new SiteUser() in controller and in constructor adding him to the session:
[Code]....
then, with every request to the server services i'm check is user available in session:
[Code]....
otherwise i'm generate non-auth-user exception and redirect him to the logon page. but sometimes HttpContext.Current.Session[sessionKey] is null, but HttpContext.Current.Session doesn't null and FormsAuthenticationTicket is available and Expired property is also false. can somebody help me, why HttpContext.Current.Session[sessionKey] can be null?UPDi have downloaded symbol tables of source .NET Framework and set breakpoints at SessionStateItemCollection on changing collection items. and i resolved some mistakes:1) all collection items are null — "culture" is setting up after2) it happens at the session end eventi can't understand how it can be, because at web.config session timeout is set 20
View 20 Replies
May 20, 2010
1. SetSession.aspx page sets value for a session variable and redirects to default.aspx page using Response.redirect() code.
2. Default.aspx page tries to create an object of class in app_codecommon.cs file.
3. In app_codeCommon.cs file, I am trying to access the session variable set in step1 using HttpContext.Current.Session object.
but step 3 gives error that object reference not set to an instance. as HttpContext.Current.Session is null.
I surf abt it on net, and seems to be problem with asp.net framework.
View 1 Replies
Nov 23, 2010
i'm using an example in which i can fake the session.It's for use in a unittest of a mvc controller.In the test i create a controller and then i do this:
FakeHttpContext httpctx = new FakeHttpContext(null,null,null,null,mSessionItems );
ControllerContext ctx2 = new ControllerContext(httpctx,new RouteData(), target);
here mSessionItems is my session and target is my instance of a controller,and indeed, when i'm in a controller reading this.ControllerContext.HttpContext.Session, i have a session, great!but.... i also read the session outside the controller, and there i use HttpContext.Current.Session, and that is null (or actualy, the HttpContext.Current is null).
View 1 Replies
Nov 16, 2010
I'd like to do this in the Application_Start method, so I can write a 'robots.txt' file if the site is running on a test server.
View 2 Replies
Sep 14, 2010
I added the following code to global.asax to load up several session variable when a session starts. I'm assuming that when a page goes to use the variable that I should be
1) checking at the page level that the value is valid not 0 when its not expected to be 0, not a zero-length string when its expected to have a length
2) have code at the page level that sets the values if the values have not been set as when the Session timeout, ideally putting the code in a class derived from Page and then deriving all of my pages from the new class so that the code does not have to be repeated in every page
[Code]....
View 7 Replies
Feb 5, 2010
Is it safe to always assume that HttpContext.Current will be non-null in Application_PreRequestHandlerExecute?
EDIT: Assuming ASP.NET webforms (not MVC).
View 2 Replies
Feb 4, 2011
Is there room for issue in the following code in terms of multiple users of the same web application? I mean, I know that a purely static string will be shared across all sessions for a single ASP.NET application, but since this explicitly refers to the Current.Session, even though it is static it seems like it would always refer to the session instance of the "current user." But an error is happening that could be explained by everyone sharing the current value of Mode and thus the most recent change overwriting everyone else's mode value. (As a background: This string is in a Helpers class that is used throughout the application. I do not want to make references to Session["Mode"] throughout the application and do not want to have to pass Session["Mode"] in every method call from an aspx.cs page.)
public static string Mode
{
get
{
var value = HttpContext.Current.Session["Mode"];
return (value ?? string.Empty).ToString();
}
set
{
HttpContext.Current.Session["Mode"] = value;
}
}
View 2 Replies
Mar 10, 2010
I have an ASP.NET Web Forms app using Entity Framework in the data layer. I've recently changed the app over to use one Object Context per request as per this post. It works great for the entire application except for any page which uses a ReportViewer to display something.
I've noticed that it fails when trying to get an instance of the [Code].... from the [Code].... collection because [Code]....
is null.
Microsoft.ReportViewer.WebForms.dll and Microsoft.ReportViewer.Common.dll can also be seen in the call stack each time it fails. The reports each use one or more ObjectDataSources to retreive data.
Based on this I'm assuming that the ReportViewer is somehow to blame, but i have no idea why. I would need some way to dispose the ObjectContext after it had been used by the report at the very least.
View 1 Replies
Mar 20, 2010
how to get sessions in the global.asax, but I still cant get it to work...for some reason my session throws NullExceptions..the sessions are set from another page add looks something like:
[Code]....
And once I try to get those session values I do the following in the Global.asax:
[Code]....
But as I said, for some reason I get a NullException once I try to get the values...and they do have the same session-name,so they shouldn't be null..
View 6 Replies
Aug 19, 2010
We've got a fairly large, complex web application that uses Forms Authentication to authenticate users. Throughout the application we store and retrieve information about users in the Session object, and in some cases in cookies. In a couple places we check for the existence of the context, and if it's null we send the user back to the login page to re-establish the session. Just a quick run-down of this web app: C#, .NET 3.5, IIS 6, ASP.NET State Service to manage sessionAs for the session timer, we use our own home-grown timer, which is basically a client-side timer, which is backed up by a check to the SQL database to see when their last activity was. This seems to work well for us. It's not perfect, but it allows us to notify the user before the session times out, and allows us to be certain we're not logging a user out before their 60 minutes of inactivity is up.What's happening is that certain users are being logged out after just a few minutes. We've eliminated the timer as a cause and believe what's happening is the HttpContext.Current is null, so the user is logged out. We do not know why the HttpContext.Current is null, and I understand there are many reasons that may occur. What I'm trying to figure out is, is there any way to re-establish the context once it is null? If not, is there anything I can do at this point other than have the user login again? We're also trying to figure out a better way of managing user information (preferences, roles, flags, history, etc), but everything needs context to use, right? Cookies, sessions, cache, etc. all require a response or request, correct? hope this makes sense, because I really need help with this. I've searched the forums here, and found many posts about HttpContext.Current going null, but not a lot of solutions for this...
View 14 Replies
Dec 20, 2010
i dont know about Global.asax so give some information about it and also tell me about the implementation and use of session_start and session_end event. How to call Global.asax in our website.
View 5 Replies
Jan 12, 2011
i am new in asp.net form authentication and sessions
i would like to know how to save session in masterpage or in global.asax and how to clear session.
how to better handle session timeout by redirecting to a page.
this is my web.config session settings
<sessionState mode="InProc" cookieless="false" timeout="1"></sessionState>
code in my masterpage
[code].....
View 2 Replies
Apr 6, 2010
When i start the application, based on some condition in global.asax page,i wil redirect to login page.If i click the logout button,
there i vil be clear all session value. here i want to initiate new session value like Session["InitialLogin"]="Yes".
How can i get this value in global .asax page. If get that session value [i.e Session["InitialLogin"]="Yes"], i vil redirect to some other page.
I cant able to get session value in global.asax page.i always getting null value.
View 7 Replies
Aug 18, 2010
I have a method in one class file with defination like this which gets the user id of logged person.
public string GetUserID(HttpRequest req)
{ .... }
I need to call this method in global.asax and save that value in session. I need to use this session value i need to use this Session value and assign that to label in Masterpage. I did not use global.asax before. And what should be the input to method... i have seen only Request is have the returntype HttpRequest. So i thought of giving that.
View 1 Replies
Mar 26, 2010
I'm getting a very peculiar problem with my asp.net application, it took me an age to track down but I still don't know what is causing this behaviour.
If I set a session variable in the Application_PreRequestHandlerExecute event, then my external JavaScript files are ignored, and therfore causing a raft of errors. I have simplified the problem below.
E.g.
I have file called JScript.js containing the code:
function myAlert() {
alert("Hi World");
}
And in my Default.aspx file I reference the js with the code:
<script src="JScript.js" type="text/javascript"></script>
And in the body onload event I call the myAlert() function:
<body onload="myAlert()">
And finally in the Global.asax file:
Private Sub Application_PreRequestHandlerExecute(ByVal sender As Object, ByVal e As EventArgs)
HttpContext.Current.Session("myVar") = "MyValue"
End Sub
If you run the Default.aspx file you will see the js function isnt called, however, if you comment out the line of code Global.asax then the external js is called and the function executed when the page loads.
View 1 Replies
Mar 10, 2011
I am have declared a session variable in login page of my application. I want to access that session variable in Application_BeginRequest of global.asax file. But I am not able to do it. Could you please suggest how to access the session variable in my global.asax file
void Application_BeginRequest(Object sender, EventArgs args)
{
string language = HttpContext.Current.Application["language"].ToString();
}
View 2 Replies
Apr 8, 2010
I'm trying to use SESSION in my MVC application.I wrote following line in Global.asax in Application_Start() method file:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
//uzupełnij zmienne sesyjne
HttpContext.Current.Session["LOCATION_ID"] = 15;
RegisterRoutes(RouteTable.Routes);
}
I also enabled SessionState in Web.config by addind following line:
<sessionState mode="InProc" cookieless="false" timeout="120" />
And when I run the application I'm getting this exception:
Szczegły wyjątku: System.NullReferenceException: Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.
Błąd źrdła:
[Code]....
Wiersz 31: //uzupełnij zmienne sesyjneWiersz 32: Wiersz 33: HttpContext.Current.Session["LOCATION_ID"] = 15;Wiersz 34: Wiersz 35: RegisterRoutes(RouteTable.Routes);
View 5 Replies
May 5, 2010
I am searching to find a way to read and write on session data but with out having the HttpContext.Current.Why I won to do that ?, because I wish to make some action with the user Session after the page have been close and unloaded. For example, a user load and see a page, then I create a thread to make some action and let user go. Inside this thread I like to read the session data, but in this case HttpContext.Current is not exist any more.
So is there a way to read Session Data knowing just the session id.I store my session inside an sql server, and I see them... its there on table ASPStateTempSessions . How can I read them "offline" and manipulate them ?
View 2 Replies
Feb 1, 2010
My ASP.NET intranet web application uses Windows Authentication, and I would like to record the following details:
1) Windows ID
2) Session Start Time
3) Session Stop Time
4) URL being browsed to (optional)
I've got some basic code setup in "Session_Start" method of the Global.ASAX to log session start times (seen below), but that's it so far. I have the feeling this is a primitive approach and there are "better" ways of doing this. So I really have two questions:
1) Is this the right way to go about doing this? If not what are some other options?
2) If this is the right way, do I just need to drop some code in the "Session_End" method to record the time they exit, and thats a complete solution? Does this method always get called when they close the browser tab they have the site open in, or do they have to close the entire browser (I don't have logout functionality)? Any way users can skip over this session end method (or start for that case)?
Dim connsql As New System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("MyConnectionstring").ConnectionString)
Dim cmdsql As System.Data.SqlClient.SqlCommand = connsql.CreateCommand
cmdsql.CommandText = "BeginUserSession"
cmdsql.CommandType = Data.CommandType.StoredProcedure
Try
cmdsql.Parameters.Add("@windowsid", System.Data.SqlDbType.VarChar, 30, "windowsid")
cmdsql.Parameters("@windowsid").Value = Session("UserInfo").identity.name
If connsql.State <> System.Data.ConnectionState.Open Then connsql.Open()
cmdsql.ExecuteNonQuery()
connsql.Close()
Catch ex As Exception
Finally
If connsql.State <> Data.ConnectionState.Closed Then connsql.Close()
End Try
'Stored Proc records start time
View 3 Replies
Sep 3, 2010
I have a custom class that pulls user information from a SQL Server table. Now that I'm expanding the site from a single page to others. I want to shift the code to the Session_Start event so that the information is always loaded when the site is accessed. How do I call my custom code from global.asax since its script and not a class.
View 5 Replies
Nov 25, 2010
We have a web site which implements a central HttpSessionState management in App_Code like this:
[code]...
All of this worked fine ultil we needed to implement a time consuming process in a new thread...
In the second thread HttpContext.Current.Session is null (we know its because the current context its different between threads) so everything fails :
Investigating we found that you could pass the session from one thread to another like this:
[code]...
View 2 Replies
Feb 18, 2010
I am trying to redirect to the same page with different query string parameters
HttpResponse resp = HttpContext.Current.Response;
resp.Redirect(landingPagePath)
To avoid further processing after redirection i check if
HttpContext.Current.Session.IsNewSession == false
but for some reason i found that this is not always the case after redirection
View 2 Replies
Feb 5, 2010
Can I set the connection string for custom session state mode in global.asax file? I cannot hard code the connection string in the webconfig file. ,I will get the connection string at runtime,Can i set the connection string for custom sessionmode/sqlserver session mode in the global.asax file(like in application statrevent, or aquirerequeststate event.If YES How to do that?
View 1 Replies