Manter a sessão de um aplicativo ASP.NET relacionado ativa de outro aplicativo ASP.NET

Tenho 2 aplicativos em execução no mesmo domínio. O fluxo é assim:

Application 1Application 1 ->Application 2Application 2 ->Application 1

Application 1 é WebForms (asp.net framework 2.0),Application 2 é o ASP.NET MVC 3 (estrutura 4.0)

Enquanto o usuário está ligadoApplication 2, Gostaria de manter a sessão ativa emApplication 1.

Enquanto constróiApplication 1, criamos um manipulador "KeepSessionAlive.ashx" que simplesmente faz Session ("KeepSesssionAlive") = DateTime.Now () quando solicitado, conforme descrito emEste artig. Fizemos isso porque esse é um aplicativo de avaliação e, durante algumas das partes mais difíceis do teste, um usuário pode precisar de um longo tempo antes de escolher uma resposta. Aqui está o código:

Public Class KeepSessionAlive : Implements IHttpHandler, IRequiresSessionState  

    Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
        context.Session("KeepSessionAlive") = DateTime.Now                           
    End Sub

    Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
        Get
            Return False
        End Get
    End Property   

End Class

Então, eu simplesmente chamo esse manipulador periodicamente dentro deApplication 1 usando jQuery:$.post("KeepSessionAlive.ashx", null, function() { });

Então, achei que poderia chamar o mesmo manipulador deApplication 2 usando $ .ajax (), eu até pensei em usar jsonp, mas isso não parece estar funcionando. Escrevi código para registrar todas as variáveis de sessão de KeepSessionAlive.ashx em um arquivo, e até mesmo para devolver coisas via resposta jsonp, e os dados pareciam correto

No entanto, fazendo um teste no qual permaneciApplication 2 tempo suficiente paraApplication 1 sessão de @ expira e, em seguida, tenta fazer a transição deApplication 1 ->Application 2, quando chego à página de retorno emApplication 1 Sou recebido com umSystem.NullReferenceException: Object reference not set to an instance of an object. error porque estou tentando fazer referência a um dos objetos na Session. O único valor na sessão é Session ("KeepSessionAlive"). Suponho que seja porque ele criou uma nova sessão, mas se for esse o caso, por que meus testes registraram os valores da sessão mostrando todos osApplication 1ariáveis de sessão de @?

Existem outros métodos que eu possa usar para manterApplication 1 sessão de @ está ativa enquanto o usuário está preenchendo os formulários emApplication 2?

questionAnswers(1)

yourAnswerToTheQuestion