มีวิธีการจับข้อยกเว้นที่ได้รับการจัดการเมื่อใช้ CreateErrorResponse() เพื่อส่งคืนการตอบสนองข้อผิดพลาดด้วยวิธี API หรือไม่ ขณะนี้ฉันได้ลงทะเบียนตัวบันทึกข้อยกเว้นสากลอย่างง่ายสำหรับข้อยกเว้นใด ๆ อย่างไรก็ตามสำหรับการตอบสนองของ API บางอย่างรวมถึงแอตทริบิวต์ Model Filter ฉัน CreateErrorResponse() เพื่อส่งคืนการตอบสนองข้อผิดพลาด แต่ไม่ได้ป้อนวิธี Log() ใน Global Exception Logger . ตัวอย่างการใช้งาน CreateErrorResponse ในวิธี API :
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e);
ตัวบันทึกข้อยกเว้นสากล:
public class GlobalExceptionLogger : ExceptionLogger
{
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public override void Log(ExceptionLoggerContext context)
{
log.Error(context.Exception);
}
}
วิธีเดียวที่จะเรียกเมธอด Log() แทนที่จะใช้ CreateErrorResponse ให้ส่ง Exception แทน สิ่งนี้ถูกต้องหรือไม่?