【发布时间】:2017-07-19 12:36:52
【问题描述】:
我正在使用 asp.net mvc 应用程序,我对横切关注点不熟悉。所以我需要知道我可以在哪里使用我的记录器代码下面的例子。
我有一个记录错误的界面。我正在我的代码上实现这个接口。
public interface ILogger { void Log(Exception exception); }
所以我有 Controller、ProductService、ProductRepository 类。
public interface ProductController: ApiController{
public IHttpActionResult Get(){
try {
productService.GetProducts();
}catch(Exception e){
logger.Log(e); // 1-Should I use logging in here?
}
}
}
产品服务;
public class ProductService{
public IEnumerable<Product> GetProducts(){
try {
productRepository.GetAll();
}catch(Exception e){
logger.Log(e); // 2-Should I use logging in here?
}
}
}
在存储库中。
public class ProductRepository{
public IEnumerable<Product> GetAll(){
try {
}catch(Exception e){
logger.Log(e); // 3-Should I use logging in here?
}
}
}
我无法确定在哪里可以使用日志记录代码。或者在任何地方添加登录。
【问题讨论】:
-
您应该使用 MVC 3 层架构。您必须从控制器调用服务,该服务将引用应该负责记录的存储库。
标签: asp.net logging design-patterns asp.net-web-api