【问题标题】:postsharp logging is not triggeringpostsharp 日志记录未触发
【发布时间】:2014-06-10 05:36:25
【问题描述】:

这是我第一次尝试使用 postsharp

我在我的解决方案中添加了新的 类库,并使用 nuget manager 添加了 postsharp。 我关心的是在解决方案的其他项目中引用这个类库。

在我的类库中,我添加了新类

[Serializable]
    public class MethodLogAspect : OnMethodBoundaryAspect
    {
        public override void OnEntry(MethodExecutionArgs args)
        {
            Console.WriteLine("OnEntry" + args.Method.Name);          
        }

        public override void OnExit(MethodExecutionArgs args)
        {
        Console.WriteLine("OnExit" + args.Method.Name);   
        }

        public override void OnException(MethodExecutionArgs args)
        {
             Console.WriteLine("OnException" + args.Method.Name);   
        }
    }

现在我已经在同一解决方案的另一个类库项目中引用了这个。

[MethodLogAspect]
        public DataLayer()
        {
        .......
        }

但没有登录。也找不到错误。请帮我解决一下

【问题讨论】:

  • 您是否在另一个类库(DataLayer 所在的那个)中安装了 PostSharp NuGet 包?

标签: c# postsharp


【解决方案1】:

尝试像这样更改您的班级名称:

[Serializable]
public class MethodLogAttribute : OnMethodBoundaryAspect
{
    // Your logging methods
}

然后在你的其他类方法中像这样使用它:

[MethodLog]
Public void GetData()
{
   // Your code
}

【讨论】:

  • 你没有得到任何错误,而且这个小代码很难理解可能是什么问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-02
  • 1970-01-01
  • 1970-01-01
  • 2011-04-06
相关资源
最近更新 更多