Во-первых, чтобы избежать тайм-аутов, я бы рекомендовал использовать решение для измерения пульса на стороне клиента (например, http://plugins.jquery.com/project/Heartbeat)
Во-вторых, при условии, что вы используете проверку подлинности с помощью форм, чтобы сохранить опубликованные данные, когда модуль авторизации форм перенаправляет ваших пользователей, вам нужно будет перехватить перенаправления в EndRequest
Обработчик событий HttpApplication в Global.asax или в вашем собственном модуле. .
Способ перехвата этих запросов не так прост, поскольку на шаге конвейера "EndRequest" вы увидите код состояния HTTP 302 (инструкция перенаправления), а не 401 (Несанкционированная ошибка). Таким образом, вы можете проверить, не аутентифицирован ли запрос (HttpContext.User.Identity.IsAuthenticated
) и перенаправлен ли запрос - в этом случае вы можете сохранить то, что видите в запросе.
В противном случае вам потребуется отключить проверку подлинности с помощью форм и использовать какое-либо решение, более близкое к ASP.NET MVC.