Проигрышный сеанс между классическим ASP и ASP.NET

Компания, в которой я работаю, осуществляет переход между классическими программами ASP и программами ASP.NET для нашего программного обеспечения для внутренней сети. В конце концов, все будет написано в ASP.NET, но из-за нехватки времени все еще есть ряд программ, которые используют классический ASP.

Для компенсации мы написали функции, которые позволяют перенаправлять и автологины между классическими программами ASP и программами ASP.NET. Однако я начинаю видеть проблему с удержанием состояния сеанса для нашего программного обеспечения ASP.NET. Если пользователь использует программу ASP.NET, затем работает в классической программе ASP, а затем возвращается к этой программе ASP.NET, часто аутентификация пользователя для программы ASP.NET все еще действует, однако сеанс пользователя теряется, что приводит к ошибке при выполнении какой-либо функции в программе.

Я пытаюсь зафиксировать потерю состояния сеанса в global.asaxSession_End событие, которое перенаправит пользователя на страницу входа, но это не сработало. Кто-нибудь еще сталкивался с подобной проблемой, когда пользователи переходили от классического ASP к ASP.NET и проигрывали сеансы? Это даже моя настоящая проблема здесь? Это единственное, что я вижу как проблему.

РЕДАКТИРОВАТЬ

Это то, что мы делаем, чтобы перенаправить пользователей на страницу ASP.NET с классической страницы asp.

Мы создаем хеш MD5 на основе идентификатора пользователя и даты и отправляем его на страницу redirect.aspx через строку запроса. Оттуда страница aspx создает свой собственный MD5 на основе идентификатора пользователя и даты, которые передаются через строку запроса. Если 2 хэша идентичны, пользователь проходит проверку подлинности, и программа загружается. Вот пример:

Классический ASP:

strDate = Year(Now())  & right("0" & Month(Now()), 2) & right("0" & Day(Now()), 2)
key = MD5(SessionUserID & strDate)
Response.Redirect "/redirect.aspx?key="&key&"&lpid="&ProgramID&"&unum="&SessionUserNum&"&uid="&SessionUserID&"&gid="&SessionGroupID

Redirect.aspx:

string key = Request.QueryString["key"];
//SetDesignModeState Variables:
if (getMd5Hash(Request.QueryString["uid"] + DateTime.Today.ToString("yyyyMMdd")) == key)
{
    Session["SessionGroupID"] = Request.QueryString["gid"];
    Session["SessionUserNum"] = Request.QueryString["unum"];
    Session["SessionUserID"] = Request.QueryString["uid"];
    string appID = Request.QueryString["lpid"];
    FormsAuthentication.SetAuthCookie(Request.QueryString["uid"], false);
    //redirect to ASP.NET page...

Ответы на вопрос(1)

Ваш ответ на вопрос