小编Dod*_*odd的帖子

可移植类库的任何日志框架?

是否有支持可移植类库的日志框架?我在Nuget上搜索但未找到任何内容.

谢谢,

.net logging portable-class-library

17
推荐指数
1
解决办法
4646
查看次数

RavenDB"全选"的最佳实践?

我有一个关于如何在RavenDB上实现"select*from xxx where ..."的相同行为的问题,因为将返回大量文档(索引已经设置).

我听说默认行为是Take(128),对吧?但我想要的是像TakeAll(),因为我不知道实际的数字.如何正确实现?

我能想到的是使用Skip()和Take()直到结束.但这对于这样一个简单的要求来说看起来真的很乏味.此外,它可能超过单个会话的请求数量限制,这是我想知道如何优雅克服的另一个障碍.

非常感谢 :)

linq select ravendb

4
推荐指数
1
解决办法
1083
查看次数

在使用 TPL 数据流的预定义块之上创建可重用的处理逻辑?

我喜欢 TPL 数据流。

嗯,一个有趣的设计选择是,大多数预定义块使用委托来允许我们实现处理逻辑。这在简单的场景中看起来不错。但是让我们考虑一下现实世界的大型应用程序,它需要模块化和封装性。我发现使用 DELEGATE 方法编写结构良好的应用程序既困难又不自然。

例如,如果我想要的只是 aMultiplyIntByTwoTransformBlock和 aNoOpActionBlock作为可重用的类 TYPE (而不是实例)。我如何实现它?我希望我可以从TransformBlock/继承ActionBlock并说,覆盖一些Process()方法来实现这一点。但是预定义的块是密封的。他们只接受代表。

我知道我可以从头开始创建一个自定义块,但显然这对我来说太复杂了,因为我需要的只是在预定义块之上进行一些自定义。

那么,我如何实现我的目标?

更新:我并不是说有些事情代表不能做。我是说在模板方法模式中公开抽象块在许多情况下更好。比如说,我希望我可以编写一个 AbstractMultiplyBlock 和 MultiplyByTwoBlock 和 MultiplyByThreeBlock,利用多态性。遗憾的是,代表们没有提供这种数据和逻辑可重用性。

c# task-parallel-library .net-4.5 tpl-dataflow

3
推荐指数
1
解决办法
1976
查看次数