为什么我的 ASP.NET razor 页面应用程序无法访问特定端点?

问题描述 投票:0回答:1

我的 ASP.NET 应用程序存在问题,无法访问特定端点。它在 Azure 中抛出 502 错误,并且在我的本地计算机上请求超时。我要访问的端点是产品端点。我发现通过某个中间件后

HttpContext.RequestAborted.IsCancellationRequested
被设置为true,我无法识别它,因为它是内置中间件,我无法在其上放置断点。我注意到这一点是因为我有一个自定义中间件,并且在调用
await _next(httpContext);
方法之前,
IsCancellationRequested
设置为 false。然而,在调用之后,
IsCancellationRequested
被设置为true,我认为这是错误的主要原因。此外,我发现我可以在隐身模式下访问产品端点,因为无论在调用
IsCancellationRequested
之前还是之后,
await _next(httpContext);
始终为 false,这很奇怪。

asp.net .net asp.net-core razor-pages .net-8.0
1个回答
0
投票

我找到了导致问题的原因。问题是端点使用

TempData
,并且值太大。它不会导致应用程序抛出异常,而是将
HttpContext.RequestAborted.IsCancellationRequested
设置为 true。奇怪的是,当你使用
TempData.Put
时,它不会抛出异常,但是如果你使用
TempData[key]
,如果值太大,它会抛出异常。所以最好使用
TempData[key]

© www.soinside.com 2019 - 2024. All rights reserved.