Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么是一个好的架构,这样我就可以将最终问题的信息传递给更高的层?_C#_Architecture - Fatal编程技术网

C# 什么是一个好的架构,这样我就可以将最终问题的信息传递给更高的层?

C# 什么是一个好的架构,这样我就可以将最终问题的信息传递给更高的层?,c#,architecture,C#,Architecture,我有一个标准的3层项目,我的数据层要么访问数据库,要么访问API。我希望能够向用户显示信息,以防数据层出现问题。 我希望在界面中显示是否存在任何错误(API未设置某些必需信息、连接到数据库/API的问题或可能发生的任何其他问题) 目前,我将有一个“out string error”参数,它将返回问题消息。但这很难闻,这也需要我的业务层有相同的参数,这更难闻 什么是一个好的架构,这样我就可以将最终问题的信息传递给更高的层 谢谢 有两种方法: 引发一些自定义异常 在数据库层引发事件并在业务层处理 现

我有一个标准的3层项目,我的数据层要么访问数据库,要么访问API。我希望能够向用户显示信息,以防数据层出现问题。 我希望在界面中显示是否存在任何错误(API未设置某些必需信息、连接到数据库/API的问题或可能发生的任何其他问题)

目前,我将有一个“out string error”参数,它将返回问题消息。但这很难闻,这也需要我的业务层有相同的参数,这更难闻

什么是一个好的架构,这样我就可以将最终问题的信息传递给更高的层


谢谢

有两种方法:

  • 引发一些自定义异常
  • 在数据库层引发事件并在业务层处理
  • 现在,当在数据层引发事件/异常时,您可以传递将在业务层帮助您的信息


    业务层的唯一变化将是监听这些事件或捕获这些异常。

    我个人实现了一个日志例程,在该例程中,捕获到的任何错误都会在应用程序范围内记录下来

    我在主应用程序界面中向用户显示错误和信息日志,而不是抛出对话框类型的错误。这可能不是您的特定场景,但在我的场景中效果很好,因为我不必不断地将数据层/业务层功能的状态/错误传递到表示层


    表示层定期“查找”任何更新/错误/等,检索它们,并清除“缓冲区”。

    谢谢!但是在我的例子中,错误应该显示给用户,应用程序应该快速开发(它是一个维护工具,不是我项目的主要工具),因此创建这个日志/日志检查机制对于我的解决方案来说太复杂了。