我有一个 razor 页面,其中运行多个 AJAX 函数来获取数据并更新数据。 这些页面在本地和某些生产实例中运行良好。 但在某些情况下,我会收到一条控制台消息(Chrome 控制台),提示出现 500 错误。我已经在各处添加了日志,并且应用程序似乎没有失败(此外,如果应用程序本身存在错误,它在所有实例中都会失败)。
我在不起作用的实例中看到的奇怪行为是(通过日志记录)我看到正常实例调用一次 OnGet 方法,然后所有后续调用都是 OnPostIndexPartial,但是,有问题的实例调用 OnGet 方法两次,然后什么也没有发生。
我什至添加了一点逻辑来确保调用只发生一次,即使该消息现在只出现一次,页面仍然永远不会加载(甚至不是 OnGet)
我被难住了。我已经研究了几个小时了,似乎无法找到为什么它甚至从不渲染初始页面(因此不执行任何后续的 onPartialPosts)
如果有人曾经见过这样的行为,并且有一些调试或查找这些实例有什么问题的指针/提示,我将非常感激
提前感谢您的宝贵时间
我已经在各处添加了日志,并且该应用程序似乎没有失败
只需在其他中间件之前添加一个中间件即可:
app.Use(async (context, next) =>
{
var logger=app.Services.GetRequiredService<ILogger<Program>>();
try
{
await next.Invoke();
}
catch (Exception e)
{
logger.LogError(e.Message);
}
});
然后在整个请求过程中与您的代码相关的任何错误都会被记录。如果没有记录任何内容,您可以研究其他原因并向我们提供更多详细信息