asp.net-web-api – 从ExceptionLogger引用操作参数
发布时间:2020-05-25 08:49:46 所属栏目:asp.Net 来源:互联网
导读:我想要使用新方法来记录全局日志错误.我编写了一个继承ExceptionLogger的类并重写了Log()方法.然后将其注册为替代品. public class TraceExceptionLogger : ExceptionLogger{ public async override void Log(ExceptionLoggerContext context) {
|
我想要使用新方法来记录全局日志错误.我编写了一个继承ExceptionLogger的类并重写了Log()方法.然后将其注册为替代品. public class TraceExceptionLogger : ExceptionLogger
{
public async override void Log(ExceptionLoggerContext context)
{
// This is always empty string
var content = await context.Request.Content.ReadAsStringAsync();
// This is almost always null
var actionContext = context.ExceptionContext.ActionContext;
}
}
我可以通过ExceptionLoggerContext对象的属性来获取我需要的所有东西,除了动作参数.确实有一个ActionContext属性,但我只看到它为null,this wiki page表示ActionContext和ControllerContext几乎总是为null. 此外,我无法获取内容流,因为它的流已经在它到达我的记录器之前被读取.因此,我无法从请求的内容中获取任何已发布的json. 有没有办法从HttpContext.Current或其他方式获取发布的数据? 解决方法好吧,看起来我可以通过在Request对象上读取InputStream来获取HttpContext中的正文文本,如下所示:string bodyText = string.Empty;
using (var sr = new StreamReader(HttpContext.Current.Request.InputStream))
{
sr.BaseStream.Seek(0,SeekOrigin.Begin);
bodyText = sr.ReadToEnd();
}
到目前为止,这段代码已成功获取我发布的json数据. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 重定向到操作,需要传递数据
- asp.net – 来自asp app的流媒体mime类型’application / p
- asp.net – 如何从Controller设置@ Html.ActionLink的动态标
- asp.net-core – 从显式类型的ASP.NET Core API控制器(不是
- 如何使用ASP.NET创建和填充ZIP文件?
- 用ASP.net检测iPad
- asp.net-mvc-3 – 如何使用下拉列表的数据注释?
- msbuild – 如果不指定目标框架,则不支持“发布”目标
- 充分利用ASP.NET的三种缓存提高站点性能的注意方法
- ASP.NET按钮重定向到另一个页面
推荐文章
站长推荐
- asp.net-mvc-3 – 带有asp.net mvc 3的$ajax内的
- asp.net – 使用Page.Render覆盖后缓存替换
- asp.net-mvc-3 – URL.Action在构造URL时包含id
- 下载ASP.NET MVC C#中字节数组列表中包含的多个文
- asp.net – IE10 SCRIPT5009:’__doPostBack’未
- asp.net-mvc-3 – ASP.NET MVC3 Razor – 在将视
- 强制ASP.Net MVC Bundle以某种顺序呈现javascrip
- asp.net-mvc – JSON,ASP.NET MVC – MaxJsonLen
- asp.net – 自定义Web字体在IE9中不起作用
- asp.net – Xamarin.Forms应用程序SQL服务器数据
热点阅读
