asp.net-web-api – 从ExceptionLogger引用操作参数
发布时间:2020-12-16 04:36:06 所属栏目:asp.Net 来源:网络整理
导读:我想要使??用新方法来记录全局日志错误.我编写了一个继承ExceptionLogger的类并重写了Log()方法.然后将其注册为替代品. public class TraceExceptionLogger : ExceptionLogger{ public async override void Log(ExceptionLoggerContext context) { // This i
我想要使??用新方法来记录全局日志错误.我编写了一个继承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 – 如何检测不引人注目的验证是否成功?
- 实体框架 – 使用EF和WebAPI,如何返回一个ViewModel并支持I
- 尝试将AutoMapper用于具有子集合的模型,在Asp.Net MVC 3中获
- asp.net-mvc – 如何使用Linq to SQL配置mvc mini profiler
- asp.net – 将图像转换为字节以存储在数据库中
- 是否可以更改ASP.NET MVC 3路由约束,以便它们返回带有JSON主
- 在ASP.net C#中伪造浏览器请求
- asp.net – 如何增加我的存储过程调用的超时时间(见错误)?
- asp.net-mvc – 如何在窗体发布后检查我的视图中的TempData
- asp.net-mvc – 如何使用Quartz.net 2.0安排任务?
推荐文章
站长推荐
- asp.net – 如何将配置转换应用于外部配置文件
- entity-framework-4 – 工作单元是否应指向服务层
- 我应该使用用户名,还是用户ID来引用ASP.NET中的经
- asp.net mvc 依赖注入Ninject
- asp.net-mvc – 从视图重定向到另一个视图
- asp.net – ELMAH日志的独立查看器应用程序
- asp.net-mvc – Java Spring MVC中的ASP.NET MVC
- asp.net-mvc – 如何在Ajax窗体的asp.net mvc中提
- ASP.NET MVC 3模型绑定资源
- IdentityServer4 QuickStart 授权与自定义Claims
热点阅读