5/30/2009

How to reset user session in IIS when using AJAX updatepanel extensively on the page ?

I guess every ASP.net developer might be using Updatepanel control these days which lets us to do partial postbacks on the page .If you are using Updatepanel control once on your page , you wont come across any issues . But if you are using it extensively obviously you will run into many issues.

In a traditional ASP.net web application the users session timeout counter will be reset everytime a user requests a page from the server, thus by preventing the user’s session from getting timed out. However,In AJAX ASP.NET application which uses XMLHTTP request to update part of a page , the users session counter on IIS will not be reset . So How to prevent Timeout in AJAX Asp.net Application which uses updatepanels ? How can we reset user Session in IIS when so activity happens in updatepanel ? The solution is here . Read on .
  • Create a new WebForm - KeepAlive.aspx in your application.
  • Now go to the code behind of the webform by hitting F7.
  • In the page_load method of the webform (KeepAlive.aspx) add the following lines of code
Response.ContentType = "text/html";
Response.Write("Technade");
  • Now go to the page where you are using the updatepanel extensively and add the following javascript to the markup.
function sessionKeepAlive(sender, args) {
//Create a New web Request and make a call to KeepAlive
var SubRequest = new Sys.Net.WebRequest();
SubRequest.set_url("KeepAlive.aspx");
SubRequest.set_httpVerb("POST");
SubRequest.add_completed(sessionKeepAlive_Callback);
SubRequest.set_body();
SubRequest.get_headers()["Content-Length"] = 0;
SubRequest.invoke();
}

//This function processes the return values
function sessionKeepAlive_Callback(executor, eventArgs)
{
// If you want to check any returned value from server ,you can use this else skip it
//else leave as it is
}
//Raised after an asynchronous postback is finished and control has been returned to the
// browser.
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(sessionKeepAlive)

  • What we are doing above is that, whenever you make a asynchronous postback call to the server , we are requesting the KeepAlive.aspx from the server using a new web request which inturn will reset the user session in IIS.
This solution has been tested and it works. So you dont need to worry that your updatepanel activity is not resetting the session in IIS.I hope this one helps the developers.Please post your doubts and views as comments.This one also might help you
How to remove 'sys' is undefuned ?

For more ASP.NET solutions , Subscribe here or click here to get updates via email .

5 comments:

hiii do you want to exchange link with my blog techsense http://itstechsense.blogspot.com/
if interested then leave me a comment

Zenegra Generic Generic Viagra - an Erectile Dysfunction Treatment Zenegra Generic Viagra prescription drug is manufactured by Alkem in India. Zenegra Generic Cialis is indicated as Erectile Dysfunction or Impotence Treatment.

this is not working on asp.net 2.0 any help will be gratefull

Nhân sâm là một trong những loại thảo dược tự nhiên, có mặt ở rất nhiều quốc gia trên thế giới như Nhật Bản, Hàn Quốc, Hoa Kì... Trong các loại giá hồng sâm hàn quốc kể trên thì nhân sâm hàn quốc luôn được hàng triệu người trên khắp thế giới săn lùng và tìm kiếm bởi những giá trị tuyệt vời.

cao hong sam là một trong những loại thảo dược tự nhiên, có mặt ở rất nhiều quốc gia trên thế giới như Nhật Bản, Hàn Quốc, Hoa Kì... cao hồng sâm Trong các loại nhân sâm kể trên thì nhân sâm hàn quốc luôn được hàng triệu người trên khắp thế giới cao hồng sâm hàn quốc săn lùng và tìm kiếm bởi những giá trị tuyệt vời. Từ xưa đến nay những công dụng của loại nhân sâm này vẫn được mọi người lưu truyền và cao hong sam han quoc ứng dụng vào trong đời sống đặc biệt là chăm sóc sức khỏe của con người. Củ nhân sâm Hàn Quốc chính là cao sâm hàn quốc ở dạng tươi chưa qua sơ chế thành các sản phẩm. cao sam han quoc có những vai trò và tác dụng vô cùng to lớn đối với con người.

Post a Comment