2010-06-25 8 views
0

ASP 클래식 사이트에 대해 this link의 세션 공유 구조를 구현하여 ASP.NET으로 점진적 변환 프로세스를 시작합니다. 세션 만료시 사용자가 사이트에서 로그 아웃하지 않도록 쿠키 만료 시간을 연장하려고합니다. 쿠키가 SessionPage.cs에서 생성 된 장소에서 나는 CreateNewSessionCookie() 메소드에 라인을 추가했습니다 :ASP.NET 세션 공유 솔루션으로 ASP 클래식에서 쿠키 만료 설정

cookie.Expires = DateTime.Now.AddDays(14); 

지금이, 그러나, 그것은 단지 사용자가 처음 방문하는 ASP 경우 잘 작동 작동합니다. NET 페이지 및 다음은 ASP 클래식 페이지를 방문합니다. ASP 클래식 페이지를 방문하면 작동하지 않습니다 처음으로 (파이어 폭스를 통해 쿠키를 살펴보면 먼저 ASP 또는 ASP.NET 페이지를 방문하면 다른 만료 값이 부여된다는 것을 확인합니다.) 나는 아직도 약간 퍼지 세션 및 쿠키 처리에 대한 완전한 이해가 없으므로이 구현의 배경에 대해 설명합니다. 그러나 VB6 SessionMgr 개체가 SessionUtility DLL을 호출하고 있기 때문에 동일한 코드를 사용하여 쿠키를 발급했다고 생각했을 것입니다. gacutil을 사용하여 SessionUtility를 다시 등록하고 regasm을 사용하여 다시 노출했습니다. 사용자가 ASP 클래식 페이지에 액세스 할 때 쿠키가 어떻게 발행됩니까? 만료 시간은 어떻게 바꿀 수 있습니까?

답변

0

이 총 해킹 될 수도 있지만 당신은 어떤 대답을 아직 ...

으로 반복을 기존 ASP에서 Request.Cookies 컬렉션을 세션 쿠키를 찾을 수 없기 때문에 (당신도 할 수 있어야 어느 것이 어느 것이 쉬운 지). 그런 다음 해당 쿠키를 다시 발행하십시오. Response.Cookies (sessioncookiename) = sessioncookievalue 및 Response.Cookies (sessioncookiename) .Expires = Now() + 14

+0

감사합니다. 잠재적으로 로그인 페이지를 ASP.NET으로 다시 작성하지 않아도됩니다. 그래서 꽤 합리적인 해결 방법이라고 생각합니다. – marekc

+0

@spiderdijon이 코드를 여기에 게시하면 제대로 작동하고 답변을 수정하여 작동 여부를 확인할 수 있습니다. –