10得票4回答
如何将/生成管道代码注入带有属性装饰的方法?

我正在阅读有关缓存和记忆化的一些文章,以及如何使用委托和泛型轻松实现它。语法非常简单,实现起来令人惊讶地容易,但由于其重复性质,我认为应该可以基于属性生成代码,而不是一遍又一遍地编写相同的代码。 假设我们从默认示例开始: class Foo { public int Fibonacci...

12得票2回答
PostSharp和Castle Dynamic Proxy有什么区别?

想知道这些库之间的主要区别是什么,它们在功能和特性上有何不同。 希望能够获得更多比我通过谷歌搜索发现的信息...

7得票2回答
当文档更改时,在PostSharp [Command]上触发“CanExecute”?

我目前正在将一个项目迁移到PostSharp,以消除大量样板代码,其中大部分都进展顺利,但我对如何强制命令重新检查其CanExecute感到困惑。我预期PostSharp会像检查属性依赖项一样检查命令,这是一个极简示例: [NotifyPropertyChanged] public clas...

7得票5回答
NuGet在构建开始前恢复PostSharp包

我正在使用PostSharp,我的项目文件中有以下目标描述: <Target Name="EnsurePostSharpImported" BeforeTargets="BeforeBuild" Condition="'$(PostSharp30Imported)' == ''"&gt...

15得票2回答
在不跳过PostSharp的情况下,如何消除构建时的PostSharp警告

根据PostSharp的推荐最佳实践,我在所有项目中都包含了PostSharp。然而,在一些这些程序集中,我没有任何方面或其他转换;它们只是引用了其他使用了方面的项目。 在构建时,我会收到以下警告: 模块' xxxxxxx.dll '不包含任何方面或其他转换。为改善构建时间性能,请考...

19得票8回答
确定间接依赖项来源于错误的.NET Framework版本

我想知道如何确定这个构建错误的来源;Warning 4 The primary reference "MyNamespace.MyProject" could not be resolved because it has an indirect dependency on the ...

20得票3回答
PostSharp和Visual Studio代码覆盖率

我最近在一些项目中开始使用PostSharp,但遇到了一个不幸的副作用——所有使用它的项目的代码覆盖率都显著下降。 我猜测这种情况发生的原因是分析器看到PostSharp代码时,有很多未经测试的代码(例如针对通用异常处理和日志记录的样板代码)。当然,我可以为每个使用这些方面的方法编写单元测试...

8得票2回答
AOP与MVC FilterAttributes和拦截器的比较

ASP.NET MVC建议使用或扩展内置的授权、操作、结果、异常筛选器。 .Net IoC容器(Unity、Ninject、Autofac)建议使用拦截器。 AOP工具(Postsharp)建议使用它们自己的属性。 现在,我感到很混乱。也许我把它们混合了。 我想构建稳健的代码和稳定的方法...

7得票2回答
如何在另一个类中实现对CacheItemPolicy的UpdateCallback?

我实现了一个使用postsharp的简单缓存属性。当我设置缓存策略时,我希望能够像下面这样设置更新回调函数。 private static CacheItemPolicy GetCachePolicy(CacheType type, int expiry) { va...

25得票6回答
有在生产环境中使用Postsharp的经验吗?

有人在生产环境中使用过Postsharp AOP框架吗?有什么需要注意的地方吗?为了进行一些日志记录等操作,Postsharp能否与Log4Net一起使用? 非常感谢任何关于在Web应用程序和/或Log4Net中使用Postsharp的教程。