使用ASP classic将Cookie过期设置为ASP.NET会话共享解决方案

时间:2010-06-25 06:13:26

标签: asp.net session cookies asp-classic

我正在从this link为ASP经典站点实现会话共享结构,以开始逐步转换到ASP.NET。我正在尝试延长Cookie到期时间,以便用户在会话到期时不会退出网站。在SessionPage.cs中创建cookie的地方,我在CreateNewSessionCookie()方法中添加了一行:

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

现在这样可以正常工作,但是,只有当用户首次访问ASP.NET页面并且然后访问ASP经典页面时,它才有效。如果首先访问ASP经典页面 (通过firefox查看cookie,确认根据我是否首先访问ASP或ASP.NET页面而给出了不同的过期值),它不起作用。)我'由于我对会话和cookie处理没有完全的了解,因此对此实现背后的机制仍然有点模糊。但是,我原以为VB6 SessionMgr对象正在调用SessionUtility DLL,因此使用相同的代码来发出cookie。我已经使用gacutil重新注册了SessionUtility,并使用regasm重新公开它。当用户访问ASP经典页面时,如何发布cookie?如何更改到期时间?

1 个答案:

答案 0 :(得分:0)

这可能是完全黑客攻击,但由于你还没有任何答案......

遍历经典asp中的Request.Cookies集合并找到会话cookie(你应该能够很容易地找出它是哪一个)。然后重新发出cookie Response.Cookies(sessioncookiename)= sessioncookievalue并设置 Response.Cookies(sessioncookiename).Expires = Now()+ 14