最速ソリューション - あなたのファイル処理は、スクリプトのタイムアウトの前に完了しますと、あなたはそれが起こる一方で、ユーザの待ち時間を持って満足している場合:
は、アップロードフォルダにあなたのウェブサイト上の仮想ディレクトリの地図 - 私たちに私たちのDMZ内のファイルサーバー上の公開共有にマップされたすべてのWebサーバー上で/〜upload /を持っています。
そして、その後、
より複雑なソリューションは、ファイル処理を処理するためにバックグラウンドスレッド(または別のWindowsサービスまたはスケジュールされたタスク)を産卵伴うだろうコードビハインド
protected void ProcessFilesButton_Click(object sender, EventArgs e) {
string uploadRootPath = Server.MapPath("~/upload/");
foreach(var uploadedFile in Request.Files) {
// might want to use a GUID filename here instead
// to avoid risk of filename conflicts.
string bareFileName = Path.GetFileName(uploadedFile.FileName);
string fullFilePath = Path.Combine(uploadRootPath, bareFileName);
uploadedFile.SaveAs(fullFilePath);
myMagicFileProcessor.ProcessFile(fullFilePath);
}
MyLabel.Text = String.Format("{0} files processed", Request.Files.Count);
}
あなたのページにこのようなコードのものを使用し、メタリフレッシュされた「Please Wait ...」ページを返します。これは10秒ごとにページを再描画し、コードビハインドではキュー内のファイルのステータスをクエリしてレポートします処理ごとに完了します。