我有一个 asp.net webapi 项目,我能够对控制器中的方法进行一些面向方面的编程
[Audit("Getting all foos")]
public IEnumerable<Foo> GetAll()
{
return _fooService.GetAll();
}
我创建的方面/属性称为审计。我正在使用 ninject 来创建对象,但在其他地方,这些方面只是自己创建的。
这会导致两个问题,首先我无法将属性注入方面,因此必须在方面中手动创建对象。
其次,它破坏了我的单元测试,因为我无法覆盖创建审计方面的创建行为,因此在测试期间创建了一个真实的而不是模拟的。
我在 IOC 或 ninject 方面没有太多经验,所以说实话,我有点搞混了。
有没有办法通过ninject强制创建这些方面?
如果有帮助,我将使用所有库的最新版本。
我也遇到了Ninject Intercept但这似乎更像是 postsharp 的替代品,尽管我可能对此非常错误。