私はASP.NETプロジェクトでコード機能をダウンロードしており、ダウンロードコードは以下のようになっています。ファイルをダウンロード - 最初に完了するまで2回目のダウンロードを防止します
public class Download : IHttpHandler
{
private void DownloadPsListingProduct(Guid which)
{
string path = GetFilePathFromGuid(which);
FileInfo file = new FileInfo(path);
HttpResponse response = HttpContext.Current.Response;
response.ClearContent();
response.Clear();
response.ContentType = "application/octet-stream";
response.AddHeader("Content-Disposition",
"attachment;filename=\"" + file.Name.NeutralizationCrlfSequences() + "\";");
response.TransmitFile(file.FullName);
response.Flush();
response.End();
}
public bool IsReusable
{
get
{
return false;
}
}
}
このコードは、一度に1つのファイルをダウンロードすると魅力的です。 1つのファイルがダウンロード中で、他のファイルのダウンロードを要求すると、まず最初のファイルのダウンロードが完了するのを待ってから、2回目のファイルのダウンロードが開始されます。
注:各ファイルのダウンロードを新たにリクエストしています。
私はこの1つのファイルのダウンロード動作を避けたいと思います。ユーザーは前のファイルを待たずにファイルをダウンロードできるはずです。
* 1つのファイル単位での動作が欲しいのですか、それとも避けようとしていますか? –
@TomasLycken私はそれを避けようとしています。 – imlim
ハンドラがセッション状態を要求しているとマークされているが、ここではそうではないと思われる場合は、この動作が多少期待されます。これは本物のコードですか? –