Asp.net mvc 错误代码支持我们的洋葱架构

Asp.net mvc 错误代码支持我们的洋葱架构,asp.net-mvc,c#-4.0,Asp.net Mvc,C# 4.0,我们计划在asp.net MVC应用程序中实现我们自己的错误代码 我们希望将类似的错误捆绑在一起。在某些数字之间,在它们描述的时间间隔内,我们将有类似的错误/通知 在找类似的东西吗 最好的方法是什么?我们是否需要遵循任何模式或行业标准 我实际上反对这个想法,但这是我们的要求 因为您的MVC应用程序不关心产生了什么错误代码、它们去了哪里、它们是如何处理的……等等,所以您不需要提供任何特定的实现来处理与应用程序相关的错误。这完全取决于你想如何保存记录 这是我目前针对同一场景所做的工作: 我的核心服

我们计划在asp.net MVC应用程序中实现我们自己的错误代码

我们希望将类似的错误捆绑在一起。在某些数字之间,在它们描述的时间间隔内,我们将有类似的错误/通知

在找类似的东西吗

最好的方法是什么?我们是否需要遵循任何模式或行业标准


我实际上反对这个想法,但这是我们的要求

因为您的MVC应用程序不关心产生了什么错误代码、它们去了哪里、它们是如何处理的……等等,所以您不需要提供任何特定的实现来处理与应用程序相关的错误。这完全取决于你想如何保存记录

这是我目前针对同一场景所做的工作:

我的核心服务定义:

public interface IExceptionService
{
     void Handle(Exception exception);
}
我的基础架构服务实施:

public sealed class ExceptionService : IExceptionService
{
    public void Handle(Exception exception)
    {
         /* What you do with errors is up to you. */
    }
}
用法示例:

private readonly IExceptionService _exceptionService;  // Get's set via IoC.


错误代码对web应用程序是否有任何重要意义,或者它们严格地说是后端问题?如何使用这些错误?这只是为了后面和一个简单的参考,在这种情况下,只是为了分享一个关于洋葱架构的思考过程,我相信你可以把洋葱架构需求从图片中去掉。因为MVC应用程序不关心错误代码,所以您的核心中没有任何与错误代码相关的内容,因此您的基础设施不需要提供任何特殊的实现来处理它们。
try
{
    /* Something that may throw an Exception goes here. */
}
catch(Exception ex)
{
    _exceptionService.Handle(ex);
}