我目前正在开发一个ASP.NET的MVC应用程序,我试图分离关注点以便获得更清洁和更易维护的代码。
因此,作为起点,我考虑了一个记录日志的方面。我的想法是最初记录每个控制器中每个方法的调用和返回情况。我会把这个逻辑放在一个专门用于记录日志的单独类中,这样我就不会在代码中到处乱加记录语句。
我还需要访问Http请求,以便获取客户端信息。
是否有集成的方式来做到这一点?ASP.NET MVC可以像Java中的AspectJ一样使用方面文件吗?
另外,它后来可以被配置为记录满足特定条件的方法吗?(例如签名、返回值、异常抛出等)
非常感谢!
因此,作为起点,我考虑了一个记录日志的方面。我的想法是最初记录每个控制器中每个方法的调用和返回情况。我会把这个逻辑放在一个专门用于记录日志的单独类中,这样我就不会在代码中到处乱加记录语句。
我还需要访问Http请求,以便获取客户端信息。
是否有集成的方式来做到这一点?ASP.NET MVC可以像Java中的AspectJ一样使用方面文件吗?
另外,它后来可以被配置为记录满足特定条件的方法吗?(例如签名、返回值、异常抛出等)
非常感谢!
GlobalFilterCollection.Filters
即可;此外,您不会忘记将属性应用于某个控制器,这对于身份验证/授权目的非常有用。 - Marius SchulzfilterContext
变量包含一个类型为ActionDescriptor
的属性,该属性提供有关签名、参数等信息。 - Marius Schulz