Tag: throttling

仅在满足特定条件时才会节流

我有一个观察我订阅的。 这个obsevable将返回一个对象,该对象具有一个名为ActivationType的属性,可以多次设置。 我想要实现的是每当ActivationType设置为“Type1”时记录一条消息。 但是,如果ActivationType设置为“Type2”,则只记录消息一次并等待30秒再次登录,如果ActivationType为“Type2”。 如果我有: myObservable .Where(o => o.ActivationType == “Type1” || o.ActivationType == “Type2”) //listen for types 1 and 2 .Throttle() // ??? somehow only throttle if we are currently looking at Type2 .Subscribe(Log); //log some stuff 我相信Throttle()是我正在寻找的,但我不确定如何有条件地触发它。 有什么建议?

队列或等待列表中的C#异步任务

我有一个像这样的异步任务: public async Task DoWork() { } 我现在有一个: List tmp = new List(); 我在哪里添加任务。 我开始这样的任务: foreach (Task t in tmp) { await t; } 现在我的问题: 什么是启动任务的最佳方式,同时只运行其中3个(直到其他人在等待)? 我想我需要像队列/等待名单一样的东西? 在队列启动后还应该可以添加更多任务。 我使用的是.NET 4.5。 谢谢你的任何建议

WCF服务限制

让我们假设我正在处理涉及发送大量数据的服务。 如果我用WCF实现它,WCF会根据每个请求服务的内存量来限制服务吗? 或者每次收到大量点击服务时,我是否会连续出现内存exception? 我很好奇在WCF之外处理这个问题,我对服务开发还有点新意…