当我尝试登录我的应用“ ERR_INCOMPLETE_CHUNKED_ENCODING 200(确定)”

时间:2018-10-31 07:47:31

标签: c# asp.net-core

我正在使用.net core 2.1后端和angular 6前端进行jwt登录会话管理,当我发送jwt时,我的浏览器会抛出此错误et :: ERR_INCOMPLETE_CHUNKED_ENCODING 200(确定)。但是通过检查邮递员,它可以正常工作。由于我在后端代码中添加了一个用于处理令牌的中间件,因此开始出现这种情况

Error Screenshot

中间件代码:

 public class JwtTokenMiddleware : IMiddleware
     {
    private readonly ISessionManager _sessionManager;

    public JwtTokenMiddleware(ISessionManager sessionManager)
    {
        _sessionManager = sessionManager;
    }

    public async Task InvokeAsync(HttpContext context, RequestDelegate next)
    {
        if (context.Request.Path.Value.Contains("/api/values/loginuser"))
        {
            await next(context);

        }
        else if (_sessionManager.IsCurrentActiveToken())
        {
            _sessionManager.UpdateTokenExpiryTime();
            await next(context);
        }


        context.Response.StatusCode = (int)HttpStatusCode.OK;
        context.Response.ContentType = "application/json";

        await context.Response.WriteAsync(new ErrorDetails()
        {
            StatusCode = (int)HttpStatusCode.Unauthorized,
            Type = 3,
            Message = "Expired Token"
        }.ToString());
    }

更新:如果我删除中间件,我的代码工作得很好,这不是因为transfer-encoding = chunked。但是中间件对我的代码非常重要

已解决的问题:问题是我的后端花了很多时间才能做出响应,所以,我不得不优化代码,使其在300 ms的时间内给出输出

1 个答案:

答案 0 :(得分:0)

可能什么都没有,甚至是防病毒/防火墙问题。请尝试提供更多详细信息,例如,这是否在Firefox中发生?您可以调试服务器吗?更换令牌?