asp.net-mvc-3 – 在ASP.NET MVC3中全局访问autofac依赖解析器?

我正在使用Autofac与ASP.NET MVC集成,所有我的控制器接收依赖关系,Autofac自动解决嵌套依赖.伟大的工程

但是如何解决控制器实例化范围之外的依赖关系?在我的代码深处的某些地方,我需要向解析器询问我的Logger.一方面,将Logger作为依赖关系传递给我创建的每个小对象似乎都是错误的,另一方面,依赖于依赖解析器的代码似乎是错误的,因为我的代码如此深入

例如,我有一个名为Result的类,它从许多操作中返回.这是一个一贯使用的对象,我的应用程序代码可以依赖于从更深层次回来.当更深层次的代码向该对象添加UI错误时,我想自动将其添加到记录器中,这需要解析.让每一个类都对记录器有依赖,只会妨碍

任何帮助,谢谢

解决方法

那么你可以使用事件(pub / sub方法),如果每个对象的依赖性都会刺激你,但是我不知道依赖中央Logger解析器有什么问题. 如果您真的需要从每个类中登录,那么您可以轻松地将日志记录作为应用程序的核心方面,并将其作为其他常见的库类型(如String或Ints),无处不在和安全依赖. 但我会建议你别的事情. IMHO你应该重新建立架构,不要登录每个课程.如果您的记录仅(或大部分)写入错误(异常),则不要使用它来对您的域模型进行处理.让它放在服务层insteád.这种编排层可以正确地评估每个捕获到的异常并仅记录什么是必需的.让我们将这些异常从堆栈跟踪中的可能性降低到最低点.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....