如何保持会话活着而文件上传?(How to keep a session alive while a

2019-09-27 04:42发布

我有一个应用程序,允许用户上传的音频文件。 在一些非常大的文件(1-2GB)我遇到了一个问题,即用户会话/认证将超时,所以当文件完成上传(它确实成功)的用户被迫再次登录。

我使用所谓的第三方工具FileUploader在服务器端的前端和一个ASHX处理传入的文件。

有没有人对如何从超时而该文件被上传保持会话/认证建议? 基本上,我想,该文件被上传到被视为好像该用户主动使用该网站的时间。

Answer 1:

如何使用FineUploader的进展情况 ,并调用Ajax是刷新会话每次进步发射一个新的WebService方法:

[System.Web.Script.Services.ScriptService]
public class SessionAlive : System.Web.Services.WebService
{

    [WebMethod]
    public void UpdateSession()
    {
        HttpContext.Current.Session["tempVariable"] = DateTime.Now;
    }
}

或者你可以使用上传启动时揭开序幕超时:

 $(document).ready(function() {
    setTimeout(updateSession, 1000*60);//Timeout is 1 min
});

function updateSession() {
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "SessionAlive.asmx/UpdateSession",
        data: "{}",
        dataType: "json"
    });
    setTimeout(updateSession, 1000 * 60);
}

参考



文章来源: How to keep a session alive while a file uploads?