如何在控制器中使用PostSharp LoggingAspect?

问题描述 投票:0回答:1

我正在尝试执行某种方法后执行一些日志记录逻辑。因此,我使用了Postsharp在此描述的基本示例,如下所示:

[PSerializable]
public class LoggingAspect : OnMethodBoundaryAspect
{
  public override void OnExit(MethodExecutionArgs args)
  {
     Console.WriteLine("The {0} method has exited.", args.Method.Name);
  }     
}

然后,我尝试在不同方法上使用此属性LoggingAspect。它适用于控制器类以外的所有方法,如下所示:

[ApiController]
    [Route("[controller]/[action]")]
    public class HomeController : ControllerBase
    {
        [LoggingAspect]
        [HttpGet]
        public IEnumerable<Student> Get(string number, int? year)
        {
            ...
        }
    }

我希望属性LoggingAspect适用于所有方法,但是不适用于控制器。我想念什么吗?

c# asp.net-core asp.net-core-webapi postsharp
1个回答
0
投票

事实证明,我在使用LoggingAspect属性的项目中没有引用Postsharp。起初并不明显,因为该项目中没有构建错误。

© www.soinside.com 2019 - 2024. All rights reserved.