Postsharp 和 NLog,一般设计问题

标签 postsharp nlog

这就是我打算做的:

  1. 我想编写一个面向方面的 NLog 特定 onmethodexecutionaspect 类。
  2. 但我仍然想确保调用代码使用通用属性类进行归因,该属性类将根据应用程序配置文件中指定的内容在内部加载 NLog 或 TraceX 等 methodexecutionaspect 的特定实现。

解决这个问题的最佳方法是什么?

我正在考虑编写一个抽象类,该类将从 postsharp 方法执行方面派生。 然后我将有另一个 dll,它将具有 NLog 特定实现...因此它将有一个类,该类将从我在通用 dll 中创建的通用方法执行方面类派生。

使用的代码将仅引用我编写的通用类 dll,并且如果应用程序配置中指定了该类,则该类将加载我编写的 NLog 特定 dll。

有道理吗?

最佳答案

我认为你走在正确的道路上。 但是,请尝试改用 OnMethodBoundaryAspect。它在运行时比 OnMethodInvocationAspect 更快。

尝试利用编译时初始化 (CompileTimeInitialize) 和运行时初始化 (RunTimeInitialize),并避免在处理程序中执行任何成本高昂的操作。

关于Postsharp 和 NLog,一般设计问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1277568/

相关文章:

c# - 您如何反射(reflection)应用于返回值的属性?

c# - Postsharp:如何设置异常后的返回值

c# - 在自定义 NLog 目标中检索 HttpContext

docker - NLog配置从docker run参数设置连接字符串

c# - 配置 Postsharp 日志记录工具包

postsharp - 获取参数名称

c# - WPF + PostSharp’ed View 模型在一分钟内就卡住了

c# - 如何使用 NLOG 记录当前可用内存

c# - 使用 NLog 通过 WebService 记录自定义类

c# - 如何在运行时更改 NLog 目标的连接字符串?