【问题标题】:Postsharp Aspect class OnEntry Method is not calling from web api controllerPostsharp Aspect 类 OnEntry 方法未从 Web api 控制器调用
【发布时间】:2021-07-19 12:31:01
【问题描述】:

作为,我正在开发 web api 项目并尝试实现 PostSharp Aspect 类来登录请求和其他工作人员。 OnEntry 方法 OnSucess 方法在调用 api 方法时没有被调用。如果我在其他已经在相同解决方案中的 MVC 项目中使用相同的 Aspect 类,那么它可以工作。只有 Aspect 类没有在 web api 项目中执行。

我已经在 web api 项目中添加了 Postsharp DLL。

方面类

Web api 控制器

【问题讨论】:

    标签: .net logging asp.net-web-api postsharp log4postsharp


    【解决方案1】:

    PostSharp 是一个后编译器,它需要与构建过程集成。这是通过 MSBuild 目标文件 PostSharp.targets 完成的,仅拥有程序集引用是不够的。

    您的项目很可能没有导入此目标文件。

    它包含在PostSharp NuGet 包中,如果您的项目使用PackageReference 样式的 NuGet 包引用,则应自动导入。如果您使用packages.config,则需要确保您的项目文件包含<Import Project="<path_to_package>\PostSharp.targets" />。升级软件包或手动添加参考后,有时可能会丢失。

    同样,如果您使用的是 Zip 发行版,则此导入需要存在于您的项目文件中并指向解压 PostSharp 的目录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多