私はいくつかのコードを 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 に余分なホップを作成する必要があることも懸念しています。何かアドバイス?