I'm making an ajax call using jquery to an asp.net mvc controller action:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult GetWeek(string startDay) {
var daysOfWeek = CompanyUtility.GetWeek(User.Company.Id, startDay);
return Json(daysOfWeek);
}
When session times out, this call will fail, as the User object is stored in session. I created a custom authorize attribute in order to check if session was lost and redirect to the login page.
do I handle a session timeout when using a update panel ?When the user session has timed-out and I click a button I get this error Sys.WebForms.PageRequestManagerParserErrorException - The message received from the server could not be parsed.I have tried to set EnabledEventValidation to false on the page but that didnt work, I have also tried to override the preInit on the page...didnt work either.
We have the timeout value set to 120 in our <form> tag within the web.config. We do not have a session timeout set.. and we have various connection strings.
We are having a problem where a session variable will disappear (become NULL) .. but, the form evidently remains 'open'.. or no re-login is required..... so, my question(s):
1. what is the relationship between form timeout and session timeout
I am creating a simple function that loops through a database, grabs all the tables and (for now) just spits out the first column name. The query I am using is very quick and simple and takes about 1 second to excecute in SQL, I have double and tripple checked this time. However, when my app makes the call, I keep getting a timeout error on about 25% of my calls, none of them should take over 2 seconds...let alone the entire timeout period, and I have no idea why.The section of code that errors out is inside the loop through all the table names (sqldr is the datareader and "name" will get me the name of the table)
I would like to pop up a box that warns the user of session timing out in 5 minutes. There are lots of examples of this on the net and I can figure something out. My question however is how to get the time remaining.All examples I read about set a client side timer to countdown from last postback. I would like to do something different. I would like to make an AJAX call to the server and get the time remaining from the server. Is this possible?Since an AJAX call will not reset the session timeout timer can I read the number and send it back to the client?
I would like to make a periodic background request from JavaScript on the client to my web application (ASP.NET, IIS 7), but I don't want the request to affect the ASP.NET session timeout
actually want to give a popup 2 min before the session timeout,i have actually found out a way to do that but i want to use modal pop up extender instead of javascript.......how should i use this,how do i create the pop up window first and then how do i call it from page load of each page, what should be the targetcontrolid,please help me out.
I have a page of each every click has ajax call to my server (hence, the ASP extends the session)
I have ASP.NET session set to Xmin. I want when X+1 min expires, I have expiration page. what I did was to set the JS timer to validate every x+1min to see if the session expired (the problem is that the JS and the ASP session timeouts are not synced)
I'm used to public facing websites that use ASP.net membership - and when the SESSION vbl's timeout we re-direct to the login page like this
Code:
If Session("Yr") Is Nothing Then Page.Response.Redirect("~Login.aspx?reason=timeout") End If
And on the login page we check for that reason and put up a label on the screen saying that things timed out to protect sensitive data. This works fine. Now I'm doing a web site that's in house - and when the users connect they get a BROWSER POP-UP to login with the DOMAIN UN/PW - and once they get past that my default page redirects them to a home portal page. What do I do when my session vbl's expire now? I can't redirect to a login page - there is not one. How do I cause the re-authentication to happen more naturally?
I created a user control for my web application that checks for Session Timeout. If the criteria are met for Timeout, I use Response.Redirect to send the user back to the login page. I include this user control in my Master page, and run the SessionTimeoutcode in the user control's Page_Init event. That all works great. However, once the user logs in again after time-out (and I have verified that the OnLoggedIn event does fire) the user is redirected to the DestinationPageUrl. That page runs the Session Timeout check when it loads (as it should) and the Session Timeout code "says" that the session is still timed-out.
I'm working to set up/correct my session timeout code, and have consulted numerous articles like this one and this SO post for ideas on how best to do this. The solution to detecting a session timeout that I continue to see over and over is to first check the Session.IsNewSession property for true, and if so, then check to see if a session cookie already exists. I guess the logic here is that the user has ended their last session that timed out, started a new session, but the old cookie wasn't yet removed. The code for those checks looks like this:
[CODE]...
The problem is that the session does not end, and all of my session timeout checks are in the Home/Customer action (I use MVC). So I'm redirected to Home/Customer, and I run through the checks above, but when I get to Session.IsNewSession, it's false, because the session is still alive (I assume because I'm still within the 120 minutes I have set)
I want some efficient way that how can i display a message to user that he is about to logout after 1 minute if user is idle and doing nothing on the page for 1 mintue.
on message if user want stay online so he must click keep me online or say logout.
I understand the need for a function like DB_Get_Cached("sql string") that hashes the SQL in order to perform a lookup in memcached for the existence of the data.
function DB_Get_Cached(string SQL) data = memcache_get_data(md5(SQL)) if (!data) return DB_Get(SQL) end if end function
What is a good method to expand this to handle data invalidation or timeout?
I'm thinking in terms of product pages in an e-commerce site, or user details in their profile.
I have an ASP.Net application that makes an AJAX request to retrieve at report. The report can run for a long time so I set the asyncpostbacktimeout in <asp:ScriptManager /> to 600. However, when I try to run the report, if it runs for longer than 90 seconds it fails to come back. I can see in the IIS logs that the POST request succeeded with a 200 status and I can see the time taken is much less than 600.
The web page dutifully waits for the entire 600 seconds before returning with a timeout error:
Error:
Sys.WebForms.PageRequestManagerTimeoutException:
The server request timed out.
Is there any setting I should be checking in IIS? Connection timeout is 900 seconds.
I searched around and couldn't find a clear answer to this: I have a form which collects information solely using AJAX and takes about 40 minutes or so to complete all the way through (multiple screens, all via AJAX UpdatePanels).There are multiple AJAX calls and UpdatePanel changes during the completion of the form, and all calls are asynchronous- there are no browser refreshes.I expect the Session timer to be "re-set" every time an AJAX call is made from my form?
I would expect it to, and from my own testing, it appears to. But I have had some reports from end users which make me think otherwise.
This is quite straight forward. I'm calling a web-service (.asmx, with session enabled) from a c# application. I want each call to be with the same session key as the previous one (as opposed to creating a new session key each time).
We have an external site which the users in our company connect to by giving their corresponding username and password. The external site is an ASP.NET website. We want to integrate this website into our intranet portal so that the users don't have to enter their UN/Pwd to login to the website. Since the target website has no provision for SSO, we are simulating the POST request to login.We are now required to perform an action after the initial login is done, on an another page. We can simulate the corresponding POST request as well
The Situation: When there multiple PageMethod calls in a single page, each of the method call holds a lock on the Session object thus blocking. The PageMethod calls can be made asynchronous only with @Page directive is turned to False|ReadOnly
Findings: When the Page directive is default (read/write) but the session is not used anywhere on the page, the calls are not blocked. Any read or write in to the session at the page level blocks the pagemethod calls.
The Problem: Making EnableSessionState=ReadOnly at the @Page directive is very restrictive and don't want to take that route. Can the pagemethod calls not block? and still access the session? (may be not write but just read)
I've inherited an asp.net web solution, which has business logic and data calls as seperate assemblies. In the business layer there are a small number of calls to get/set HttpContext session values. I've looked around for an example that will allow me to abstract this away from the business logic as I'd like to be able to reuse these assemblies in non-web projects, could anyone please give me an example of the best way to do this. I was thinking of some sort of session factory that will obtain values from some sort of persistant store depending on the usage scenario but I'm new to architecture really and would appreciate a pointer or two.