6.67RateLimitedStream 带速率限制的流

创建于 2026 年 8 月 17 日约 1 分钟读完

SaaS/PaaS 应用平台中,用户常根据资源使用量(如带宽和流量)付费。特别是在用户下载或上传资源时,平台会进行速率限制。此时,框架提供的 RateLimitedStream 流非常有用。该流能够根据设定的速率限制调整读写速度,非常适合用于资源控制。

使用 RateLimitedStream 非常简单,只需通过构造函数传入需速率控制的 Stream 对象及每秒允许的最大字节数 bytesPerSecond。例如:

cs
var stream = await httpRemoteService.GetAsStreamAsync("https://furion.net/", HttpCompletionOption.ResponseHeadersRead);// 使用 RateLimitedStream 包装流并返回新的流,后续操作使用 rateLimitedStream 代替 stream 即可var rateLimitedStream = new RateLimitedStream(stream, 1024 * 1024 * 1); // 限制最大读写速率为 1MB/s// 此时对 rateLimitedStream 的读写操作将被控制在 1MB/s 以内。✅

总的来说,RateLimitedStream 是一个强大的流包装器,能够帮助开发者在 SaaS/PaaS 平台上更好地管理资源使用,确保用户操作符合付费条件,同时提升系统稳定性和性能。