8

私はいくつかのコードを ASP.NET Core に移植することに興味があり、ASP.NET Core Web サービスからファイル (別名 "ダウンロード" ファイル) を送信する最も効率的な方法を知りたいと考えていました。

私の古い ASP.NET コードでは、FileStream を使用していました。

var content = new FileStream(
    myLocation,
    FileMode.Open, FileAccess.Read, FileShare.Read);

var result = new HttpResponseMessage(HttpStatusCode.OK)
{
    Content = new StreamContent(content)
};

ただし、FreeBSD の sendfile() に相当する .NET を見つけようとしていたところ、HttpResponse.TransmitFileが見つかりました。私はこれがより速いと思いますか?

また、ユーザーにアクセスする前に、ファイルが Kestrel から IIS に余分なホップを作成する必要があることも懸念しています。何かアドバイス?

4

1 に答える 1