我创建了webApi全局异常处理程序,我必须在prod环境中记录请求参数/ JSON以验证请求是否发生异常,请告诉我在
中记录请求消息的方法ExceptionHandler。
WebApiConfig
public static class WebApiConfig { public static void Register(HttpConfiguration config) { config.Services.Replace(typeof (IExceptionHandler), new GlobalExceptionHandler()); } }
GlobalExceptionHandler
public class GlobalExceptionHandler : ExceptionHandler { public override void Handle(ExceptionHandlerContext context) { Logger.log("Exception : \t" + context.Exception.Message) Logger.log("Request JSON : \t" + Josn.Serializer(context.Request.Content)); } }
答案 0 :(得分:1)
您可以尝试阅读以下内容。
对于POST/PUT/DELETE
,以下代码将阅读内容。
string jsonContent = "";
System.Web.HttpContext.Current.Request.InputStream.Position = 0;
using (var reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream, System.Text.Encoding.UTF8, true, 4096, true))
{
jsonContent= reader.ReadToEnd().ToString();
}
//Reset back the position
System.Web.HttpContext.Current.Request.InputStream.Position = 0;
对于GET
请求,您可以直接记录URL
。