【发布时间】:2019-10-02 13:33:29
【问题描述】:
在我的 ASP.NET Core WebAPI 应用程序中,我使用自定义身份验证中间件对请求进行身份验证。一切正常,但我不知道失败原因将如何在响应对象中发送给用户。
protected override Task<AuthenticateResult> HandleAuthenticateAsync()
{
var token = headers["Authorization"].ToString();
if (string.IsNullOrEmpty(token))
{
return Task.FromResult(AuthenticateResult.Fail("Token is null"));
}
}
我试过了:
Task callTask = Task.Run(
async () => await Context.Response.WriteAsync(errorResult).ConfigureAwait(false));
if (callTask.IsCompletedSuccessfully)
{
callTask.Wait();
}
但是在 fiddler 中得到 504 状态码
[Fiddler] ReadResponse() 失败:服务器没有为此请求返回完整的响应。服务器返回 379 字节。
这个失败原因“令牌为空”将如何发送到响应。
【问题讨论】:
-
fiddler 说服务器返回了什么(原始标头和正文)?
-
HTTP/1.1 504 Fiddler - 接收失败 Content-Type: text/html;连接:关闭 [Fiddler] ReadResponse() 失败:服务器没有为此请求返回完整的响应。服务器返回 379 个字节。
标签: asp.net-core asp.net-core-webapi fiddler