当想要使用下载管理器,如[Internet下载管理器]下载文件时,sessions将为空

本文关键字:下载管理器 文件 下载 sessions Internet | 更新日期: 2023-09-27 18:14:57

我在page_load中的代码如下:

    if (Session["User_ID"] != null)
    {
        GO FOR DOWNLOAD FILES
    }

User_ID会话将创建当用户登录到我的网站。
用户登录后,当他想下载一个文件与互联网下载管理器(右键单击链接,选择下载与IDM)会话["User_ID"]显示我们为空。
由于某些限制,我使用了Session["User_ID"]。
我如何为我的目的解决这个问题?

thanks in advance

当想要使用下载管理器,如[Internet下载管理器]下载文件时,sessions将为空

通过不依赖会话来修复它。在重定向到下载url之前,将您需要的信息存储到缓存中,并以随机字符串为关键字。然后沿着url传递随机字符串。在下载页面上,使用url字符串加载缓存的数据。不需要会话。

你不能,是下载管理器软件有问题,而不是你的代码。它只是连接到您的url,而不传递asp.net用于维护会话状态的相关cookie,因此服务器只是将其视为一个新的未经身份验证的连接。这就好像用户在firefox中登录,然后将下载url复制并粘贴到chrome中。