State Management :: Redirect If Session Expires?
Jan 7, 2011i have a website and i know that the session expires and it gives me instance of object not set error.
I have a masterpage could i do it in there on page_load?
i have a website and i know that the session expires and it gives me instance of object not set error.
I have a masterpage could i do it in there on page_load?
I am using a timer in the master page of my web site in order to keep a 'status bar' up to date with all sorts of information.The issue is that the whole point of session expiry goes to waste, because a postback is always being made (although asynchronic) to the server.
How can i still expire the session after a wanted period of time?
I am trying to delete Files and Directory through ASP.NET3.5 (C#)web application.
But as soon as DirectoryFile is deleted It automatically redirects me to Login Page.
It means I am lossing my session on deleting File/Directory.
I have this setting in web config for session.
[Code]....
On localhost works well. On the hosting server expires very quickly. Sometimes after a minute, and sometimes after a few minutes.
I tried mode="StateServer" and mode="SQLServer", but first works the same, other doesn't work. The next problem is that End_Session in global.asax doesn't executes if mode is not InProc. And I need this.
How could I achive that session expires only when browser is closed or other url is typed. Just setting timeout doesn't work.
my web app doesn't use authorization in web.config, but i want to detect when a session has expired and redirect to the home page.I have searched and found solutions that rely on the web app using authorization. Other solutions have implemented a user control to drop in every page.Obviosly i don't want to manually check for null on every session variable on every event of the web app, so i want the app to do it automatically.
<sessionState timeout="120"></sessionState>
<authentication mode="Forms">
<forms name="myappCookie" loginUrl="~/index.aspx" timeout="120"/>
</authentication>
doesn't work for me since i don't have allow or deny settings, since my app doesn't need authentication.
I'm facing a great problem in session. My session expires after every 4-5 minutes. Firstly I checked my web hosting settings. I increased session timeout to 50000. In my web.config I wrote :
[Code]....
Also Locally it expires withing 5 minutes. Secondly can I also increase idle timeout.
Our project contains the folder structure. when I redirect to page in different folder, session automaticaly ends. How can I prevent this?
View 2 RepliesIn certain pages when i try to rediect to a perticular page the Session automaically gets assigned to null, have no idea why is this happening.-No where I'm using Session.Remove or Session.RemoveAll.-Also not even using EnableSessionState="true" or "false" as by default it will always be true, I know...
View 3 RepliesI have an issue of losing an InProc session variable when I call Response.redirect. I have seen a number of posts related to this, but haven't found a solution. My code is essentially:
Session("MyVariable") = "SomeBoolean"
Response.Redirect("NewUrl.aspx", false)
When I try to read Session("MyVariable") on the NewUrl.aspx page, it doesn't exists.
What's odd is that this doesn't typically happen in my local environemnt, but hapens quite often, if not all the time, on the shared server this application resides on. I saw some info about web farms and load balancing which could cause an issue. I am fairly certain this app is not part of a web farm.
A little background, in case there is a better method than using Session State...
I have created the ability for an administrator of this applicationto log in as any other user using a "Skeleton Key" password. When the admin does this, I store a boolean in session which refers to the fact that they are logged in and "Impersonating' another user. This gives the admin additional access that the user would not normally have. Anyhow, that is why I store a sessoin variable.
I am creating web application. In that I want to set session timeout (not idle timeout). If a user logged in that time the session time will start and it automatically should detect session timeout the page should redirect to another page. How can I acheive this.
View 2 Repliesis it possible to create a new Session Id using C# and without using a Response.Redirect(...Page ... ). I want to create a new session Id on page load.
Reasons for doing so:
I have a testing application that creates IFrames to act as users. the problem I have is that with Multiple Instances (or Multiple IFrames running the same application "Default.aspx") all IFrame's are using the Same Session ID. I have variables stored in the Session ID that I need to be seperated from IFrame to IFrame. Ex:
IFrame 1 gets passed a query string of a client ID "1"
IFrame 2 gets passed a query string of client ID "2"
WHen the IFrame 2 gets loaded the session state of IFrame 1 inherits the IFrame 2's session's making the Client ID in Session 1 = "2". See what I am getting at?
I want to be able to have each IFrame create its own Session State. I guess there is 2 questions to this, 1.) is it possible to create a new Session State by abandoning the original and by doing so will that abandon both session ID's and just create an ID for both IFrames being the same ID? 2.) How can I do this if it is possible :-)
If a normal session timeout occurs we could handle the session timeout.
But say we are using a lot of ajax calls, webhandlers etc. How would we catch session timeout here and redirect to error/login page.
I'm using sessions to track user name. I assign Session["userName"] in my login procedure. The sessionn gets timeout in about 15 minutes. What I need to do is, if the session timeouts I need to redirect the page to the Default.aspx page.
How can I do this? Any code example would be great.
This is weird. In my newly developed chat application, when I invoke Response.Redirect, I am losing my session data. What is particualrly odd is that this sometimes seems to occur after a slight delay, so I reach the page, and then the session info gets lost momentarily thereafter. Mostly though it seems to get lost immediately. I have of course googled this issue, but yet to find anything that speaks to my problem. SessionState is in InProc mode. Session state has been working fine for me until this unexpected problem, so everything is configured right. So far the only workaround I can think of is to use a link instead of a button, and use javascript to call a server-side function on onclick to do the work I need to do before the link gets invoked. Messy, and I'd rather not go that way unless there's no alternative.
Just to preempt one red herring, I do use Response.Redirect(<address>, false).
The problem occurs both on the testing and production servers. I'm running ASP.NET 3.5 on IIS7.
We have a web app running .net 1.1 that users must login to access (uses FormsAuthentication). At one point, the user submits a form that is handled by a separate web app on the same website but in a different directory (running .net 2.0 and not requiring authentication). When the user submits the form and is redirected to this other page they have some options including returning to the previous web app.
We need our users to stay logged in to the first web app so they do not have to log in again when returning. This works fine on 3 out of four computers, but the fourth computer is asked to log in when they hit the return button (by reviewing the active cookies we see that when it returns to the original web app, the FormsAuthentication cookie is missing)
why this cookie would disappear on one machine but not the others? I am going through IE settings now but the machine has the problem in IE and Chrome (not sure if this would be a shared setting) If it is an IE setting is there a way to make this work without requiring the user to change their settings and without switching to cookieless sessions?
Here is the authentication part of web.config
[Code]....
And if it makes a difference, the redirect and form action property use a the full path, would using a relative path likely change anything?
i have 2 page,
1.login.aspx --- 2.welcome.aspx
in my login.aspx im storing username into sesssion as below:
Session["usernm"] = txtUsername.Text;
in my welcome.aspx page
in page_load event
if (Session["usernm"]==null)
{
Response.Redirect("Login.aspx");
}
here if i manulally paste the url ( http://localhost:4125/Loginado/welcome.aspx) it should go to login.aspx for user credentials
but its going directly to welcome.aspx page.
I have one website in which there is one page along with one ascx as registered into it. In the ascx where user can add some order details and click on "Make Payment" button, then there are following 2 cases...Case I: If user was not logged in, then a modal popup will open which has login ascx with 2 buttons Register & Login. In this case user either Login or Register and continue with "Make Payment".
View 5 RepliesI'm running a website on a SQL 2008 database. At the moment most of my data is in cache but what I want to do is be able to update the data on a regular basis, say every 3 hours, maybe more frequently. Obviously I can set the cache to expire and pick up new data, but how can I replace part of the database (because some tables are populated by the user) in the background, so that when the cache expires the new data is picked up?
I notice when I upload data through VS, it wont let me upload if the DB is in use - so how do I get round issues like this?
I read the solutioin for this error, at the following link :http://forums.asp.net/p/1046935/1576341.aspxbut I am still not clear what exactly causes the error. I have two doubts :1. Can anyone please elaborate a bit on this issue, with any example ????2. Is there any drawback of this approach ?
View 4 RepliesI have created a demo application to read data from the CSV and after read the data from the csv file there is a button to save all the CSV loaded data in the database. When i load the large CSV (2MB) file . after load all the data from the file i will save all the data in datatable and store in view state.
when i click on another Link the page doesn't work and page become expires. Where is the problem.
Its simple doing read CSV file .. file stream closed. store all the csv data in view state. and click on the another link save into the database. but click save database button page expire.
Customer were getting "View State Validation Error" due to worker process recycling at our production webserver and to fix that i applied machinekey and then move my Session state Mode from In Proc to State Server to retain session data and not kick out the customer to relogin. I had serialization issue with one object which has to be stored in session but when i moved it out of session i could able to resolve the issue.
But doing all these i was partly successfull in keeping the user in their session when Worker Process recycle event occurs.I was able to refresh the page or make a post back by clicking the refresh button and also able to retain the session values. But the Problem occurs when sending asynchronous request to server which we do periodically every 15 minutes from the moment the user logs in.The web page doesnot update data on website when sending asynchronous request.By Debugging I found at this particular code point it fails to make a postback which is required.
<%=GetHintFromServer%> (When there is no Worker Process recycle i t gets replaced by
WebForm_DoCallback('__Page',message,ShowHint,null,null,false) on postback) Everything works fine when there is no Worker Process Recyling but when it happens looks like sending request asynchronously using javascript fails .Remember When I make a post back by manually clicking submit button everything works fine.
SendRequest(Asynchronous)
function SendRequest(msg, isBusy, chartMsg, vesselMsg)
{
try
{
//confirm("msg"+msg+"isBusy"+isBusy+"chartMsg"+chartMsg+"VesselMsg"+vesselMsg);
_busy = isBusy;
if(chartMsg != null)
{
//confirm("chartMsg"+chartMsg);
_element.SetMessage(true, chartMsg);
}
if(vesselMsg != null)
{
confirm("chartMsg"+vesselMsg);
_element.ShowVesselLoading(true, vesselMsg);
}
_stuckWatchdog = setTimeout( "ClearPendingRequest();", 60000);
var message = msg;
var context = '';
<%=GetHintFromServer%>
}
catch(e)
{
alert( "Exception error on SendRequest(): " + e);
}
}
I am new to .net 4.0 and am using EF Model and SessionState Mode=SqlServer and I am getting this error below:
Unable to serialize the session state. In 'StateServer' and 'SQLServer' mode, ASP.NET will serialize the session state objects, and as a result non-serializable objects or MarshalByRef objects are not permitted. The same restriction applies if similar serialization is done by the custom session state store in 'Custom' mode.
I checked the stack trace and its complaining about
[assembly: global::System.Data.Objects.DataClasses.EdmSchemaAttribute()]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("PoplarGroveModel", "tblMenuRole", "tblMenu", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(PoplarGroveDataModel.Menu), "tblRole",
[Code].....
I marked it as serializable but then it complains about System.Data.Objects.ObjectContext is not marked as serializable and hence throws the same error.
Our ASP.NET App uses ASP State Session Management and has been rebuilt about 2 years ago [With .NET Framework 2.0]. We are currently in .NET framework 3.5 and have moved to SQL Server 2008 - but continue to use the same ASPState database. The State database has been upgraded to SQL Server 2008. Since then we have are seeing timouts/locks on ASPStateTempSessions table. I am wondering if we have to rebuild this database from scratch with some newer scripts?
View 2 RepliesI'm using the following line of code to display the number of users currently logged on:
lblNoOfUsers.Text = Membership.GetNumberOfUsersOnline().ToString()
I'm still debugging my application so it's on the local server. As I debug and stop then debug again, eventually lblNoOfUsers.text turns to "0" instead of "1", even as I'm navigating my application. It only turns to "1" again if I log out and sign back in. It's almost as though Membership.GetNumberOfUsersOnline my login are referencing two different session states. How is this possible? Does asp.net create a new session state cookie each time I start debugging?
I am trying to set a session variable in the global.asax file and keep running into the problem that the Session is null.
I am running my application in VS2008 and using asp.net 3.51.
Here is my code:
1. In my web.config file I have enabled the session state and added the following line;
<sessionState
cookieless="false"
mode="InProc"
timeout="60"
></sessionState>
2. In the Session_Start procedure in the Global.asax file I set the session variable to a default value.
[Code]....
My problem seems to be that when the Application_Error procedure is executed the session state is lost.
Does anyone know why the session state isn't available in the Global.asax file.