代码之家  ›  专栏  ›  技术社区  ›  tre

Postsharp和NLog,一般设计问题

  •  2
  • tre  · 技术社区  · 16 年前

    我打算这样做:

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

    最好的方法是什么?

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

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

    有道理吗?

    1 回复  |  直到 16 年前
        1
  •  3
  •   Nimantha Thatkookooguy    4 年前

    我认为你走对了方向。 但是,请尝试改用OnMethodBoundaryAspect。它在运行时比OnMethodInvocationAspect快。

    尽量利用编译时初始化(CompileTimeInitialize)和运行时初始化(RunTimeInitialize),避免在处理程序中做任何代价高昂的事情。