在我正在进行的一个项目中,我正在尝试开发一种通用机制,用于将消息从代码库中的任何位置发送回前端,以进行可能的日志记录、向用户显示等。
由于错误/异常,可能会发送消息以报告进度等。最初我想使用类似 log4net 的东西来报告消息数据,并在应用程序级别有一个自定义附加程序来使用这些消息,然后将它们显示/记录为合适的。但是,由于几个问题,我不确定这是最好的方法
1) 该项目被拆分为多个单独的程序集,我发现跨多个 dll 配置 log4net 存在问题。
2) 这种消息传递方案不仅仅是日志,因此使用日志框架可能过于严格。
目前,我正在使用 C# 自定义消息事件从程序集发送数据并在应用程序级别注册处理程序以捕获它们。
但是我已经意识到 MVVMLight 中的 Messenger 类正是我正在寻找的,一种跨程序集发送通用数据包(类)的方法。但是因为我可能会从模型代码发送消息,所以我想知道这是否会在模型代码中添加对 MVVMLight 的不必要的依赖项。
我的印象是模型代码应该尽可能地无依赖,这样它就可以不加修改地放入任何应用程序框架中。
你们有什么感想?