我正在使用.net core 2.1后端和angular 6前端进行jwt登录会话管理,当我发送jwt时,我的浏览器会抛出此错误et :: ERR_INCOMPLETE_CHUNKED_ENCODING 200(确定)。但是通过检查邮递员,它可以正常工作。由于我在后端代码中添加了一个用于处理令牌的中间件,因此开始出现这种情况
中间件代码:
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的时间内给出输出
答案 0 :(得分:0)
可能什么都没有,甚至是防病毒/防火墙问题。请尝试提供更多详细信息,例如,这是否在Firefox中发生?您可以调试服务器吗?更换令牌?