Yes you can stop session timeouts. There is a easy way that does not require AJAX calls or other such methods. I have tested this method on an ASP.NET Data Entry page and left it up for 4 hours, clicked save, and all was well.
Dealing with Session Timeouts in ASP.NET was always a pain. I came across a method by Primary Objects that is simple to implement and will not only keep the session alive but will keep the worker process alive on the server as well.
Summary: Use a page such as KeepAlive.aspx and place it in a hidden iFrame on a master page. Use the Meta Refresh on this page to post back to the server every 19 minutes to keep the user session alive and the work process up and running.
There are three parts to this method.
1. Create a SessionAlive.aspx page and include this in an IFrame of your master page.
2. An optional part of this process is to display the last status refresh time on the status bar in the browser. This is good for testing purposes.
3. In the code behind of the KeepAlive.aspx page update the meta refresh tag after page loads for under 20 minutes. The typical session timeout.
The orignal posting of the solution can be found at Primary Objects.
Attached is the code for this solution.
SessionAliveCode.zip (1.75 kb)