gpt4 book ai didi

error-handling - 从全局错误处理程序中检索 Request.Content 的正确方法

转载 作者:行者123 更新时间:2023-12-01 05:06:55 24 4
gpt4 key购买 nike

我已经注册了一个全局异常处理程序,它会触发并包含我需要的所有信息,但始终为空的 Request.Content 除外……我需要调试时传入的值……

Public class MyExceptionLogger : ExceptionLogger
{
public override void Log(ExceptionLoggerContext context)
{

try
{
... other code

var methodName = context.Request.Method.ToString();
var errorUri = context.Request.RequestUri.ToString();
var errorMessage = context.Exception.Message;
var errorStackTrace = context.Exception.StackTrace.ToString();

var payload = context.Request.Content.ReadAsStringAsync().Result;

..... other code

}

}
}

从全局错误处理程序中检索 Request.Content 的正确方法是什么?在上面的代码中,模型绑定(bind)器已经读取了 Content 属性,因此它始终为空。

我怎样才能始终如一地从异常中获取发布的正文?

我应该在自定义 MessageHandler 中检索并保存发布的正文吗?

谢谢
格雷格

最佳答案

在尝试在自定义消息处理程序中读取 request.Content 的缓冲区时。如果我使用以下代码读取它,则似乎:

var payload = context.Request.Content.ReadAsStringAsync().Result;

并且什么都不做......当模型绑定(bind)器读取它时,缓冲区不会被清空,因为它现在总是在我的异常记录器中......我不知道这是设计使然还是什么,但它令人恼火!

关于error-handling - 从全局错误处理程序中检索 Request.Content 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27781856/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com