簡體   English   中英

限制 ASP.NET Core 7 中的下載速度

[英]Limit download speed in ASP.NET Core 7

有沒有辦法限制 ASP.NET Core 中的文件下載速度? 我有一個允許用戶下載大型文件的網站。 但是我想限制未登錄用戶的文件下載速度為100kb/s。 可能嗎?

另外,我檢查了一些解決方案,但這些都是針對 asp.net mvc 的。

這是我的方法:

public IActionResult OnGet (int id)
{
    if(user is authenticated)
           //download file with unlimited speed;
        else
           //download file with limited speed;
}

編輯:我也檢查了這個URL。 但它的問題是,它一直等到字節處理完成后,才開始無限速下載; 這不是我想要的。

也許這樣的事情可以工作。

public async Task RateLimited(Stream source, Stream target)
{
    byte[] buffer = new byte[1024];
    int count;
    long written = 0;
    while ((count = source.Read(buffer, 0, buffer.Length)) != 0)
    {
        target.Write(buffer, 0, count);
        written += count;
        if (written >= 102400L)
        {
            await Task.Delay(1000);
            written = 0;
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM