首页 新闻 赞助 找找看

.net core3.1访问报错Unexpected end of request content.

0
悬赏园豆:20 [待解决问题]

各位大神,.net core3.1应用,原来用的好好的,近期突然不定时的报错,堆栈信息如下:

at Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException.Throw(RequestRejectionReason reason)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1ContentLengthMessageBody.ReadAsyncInternal(CancellationToken cancellationToken)
at Microsoft.AspNetCore.WebUtilities.FormPipeReader.ReadFormAsync(CancellationToken cancellationToken)
at Microsoft.AspNetCore.Http.Features.FormFeature.InnerReadFormAsync(CancellationToken cancellationToken)
at Microsoft.AspNetCore.Http.Features.FormFeature.ReadForm()
at ClinicalCareService.Models.HttpContext.Request(String Key)

晨之风的主页 晨之风 | 菜鸟二级 | 园豆:373
提问于:2023-03-24 16:36
< >
分享
所有回答(5)
0
独揽醉清风 | 园豆:204 (菜鸟二级) | 2023-03-24 16:49
0

根据您提供的错误信息和堆栈信息来看,这个问题可能是由于请求处理时出现错误引起的。

具体来说,BadHttpRequestException 表明了一个非法的 HTTP 请求被服务器拒绝,可能是由于请求的格式、大小或其它原因导致的。在您的代码中,可能存在处理请求的逻辑出现了问题。

另外,您提供的代码中 HttpContext.Request(String Key) 方法没有完整的代码,无法确定该方法的实现细节。如果可能的话,建议您提供更完整的代码或者更详细的堆栈信息以便更准确地定位问题。

为了解决这个问题,建议您按照以下步骤进行排查:

检查请求格式和大小是否合法,尤其是在处理上传文件等特殊请求时要特别注意。

检查代码中是否存在逻辑错误或者处理异常情况的逻辑不完善导致的错误。

对于一些可能导致请求失败的操作,比如读取大量数据或者网络请求,需要添加相应的错误处理和异常处理逻辑,确保请求能够正确处理并返回正确的响应。

希望以上提示能够对您有所帮助,如果问题依然存在,请提供更多详细的信息以便我们进一步帮助您解决问题。

Technologyforgood | 园豆:5468 (大侠五级) | 2023-03-27 21:36
0

根据您提供的错误消息,您似乎在.NET Core 3.1应用程序中遇到了BadHttpRequestException。堆栈跟踪指示Kestrel服务器在读取HTTP请求的内容长度时抛出异常。

出现此错误的一个可能原因是请求内容长度大于允许的最大大小。您可以尝试通过向ConfigureServices方法添加以下代码来增加Startup.cs文件中允许的最大请求大小:

services.Configure<FormOptions>(options =>
{
    options.MultipartBodyLengthLimit = long.MaxValue;
    options.ValueLengthLimit = int.MaxValue;
    options.MemoryBufferThreshold = int.MaxValue;
});

此代码将表单数据和其他请求内容的最大允许大小设置为可能的最大值。您可以根据需要调整这些值,以满足应用程序的要求。

此错误的另一个可能原因是请求格式错误或包含无效数据。您可以尝试记录请求内容并检查它是否有任何问题。您也可以尝试使用Fiddler或Wireshark之类的工具来捕获和分析HTTP流量。

explo | 园豆:206 (菜鸟二级) | 2023-03-27 22:17
0

根据堆栈信息,这个错误出现在ASP.NET Core应用程序的Kestrel服务器中。Kestrel服务器是ASP.NET Core应用程序的默认Web服务器。

具体来说,错误是由“BadHttpRequestException”引发的,这通常是由于HTTP请求包含不正确的内容而导致的。 在这种情况下,HTTP请求似乎包含的内容长度不正确,导致服务器无法正确处理请求。

根据错误日志中的调用堆栈,问题出现在尝试读取HTTP消息正文时。此外,日志还显示ASP.NET Core应用程序尝试从HTTP请求中读取表单数据。

因此,这个问题可能与应用程序中处理表单数据的代码有关。请检查代码中读取表单数据的过程是否正确,特别是对内容长度的读取处理是否正确。您也可以在代码中添加适当的错误处理来捕获这个错误并提供更有用的错误信息。

薛小谦 | 园豆:195 (初学一级) | 2023-03-28 15:07
0

这个错误通常是由于请求内容不完整或传输中断导致的。有几种可能的原因:

  1. 请求内容长度不正确:请确保请求中的内容长度与请求头中指定的内容长度相匹配。
  2. 请求被意外中断:请检查客户端与服务器之间的连接是否稳定,以确保请求在传输期间不会中断。
  3. 请求内容被修改:请确保请求内容在传输过程中未被修改或篡改。这可能是由于恶意攻击或中间人攻击导致的。
  4. 服务器处理请求时出现错误:请检查服务器端代码,确保处理请求时没有出现错误或异常。
    针对你的堆栈信息,可以看出是在读取表单数据时出现了问题。可能是由于请求中的表单数据不完整或被修改导致的。你可以尝试使用其他工具或浏览器重新发送请求,或者检查服务器端代码以了解更多信息。
LuoCore | 园豆:122 (初学一级) | 2023-03-31 08:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册