私はそこからファイルをダウンロードしているページのユーザーを持っています。ユーザーがダウンロードリンクをクリックしてファイルをダウンロードすると、ファイルのダウンロードカウンタイベントの新しいレコードが挿入されます。 (FileID、Date、blalbla ..)ASP.NETの応答。終了問題
しかし、私のスクリプトには問題があります...ダウンロードの開始と終了後に新しいレコードを追加しますが、その後にそのイベントが再び発生し、新しいレコードも作成されます。 1ダウンロードと2つの新しいダウンロード記録。ここに私のスクリプトです。
if (Page.Request.QueryString["FileID"] != null)
{
OleDbCommand command = new OleDbCommand("select * from Dosyalar where DosyaID=" + Page.Request.QueryString["FileID"].ToString(), veri.baglan());
string dosyaAdi = "";
int DosyaID = 0;
OleDbDataReader dr = command.ExecuteReader();
while (dr.Read())
{
dosyaAdi = Server.MapPath("formlar") + "\\" + dr["URL"].ToString();
DosyaID = Convert.ToInt32(dr["FileID"]);
}
dr.Close();
FileInfo dosya = new FileInfo(dosyaAdi);
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + dosya.Name);
Response.AddHeader("Content-Length", dosya.Length.ToString());
Response.ContentType = "application/octet-stream";
Response.WriteFile(dosyaAdi);
// INSERT A NEW RECORD
OleDbCommand ekle = new OleDbCommand("Insert into Indirilenler (FileID,Tarih) values (@p1,@p2)", veri.baglan());
ekle.Parameters.AddWithValue("p1", FileID);
ekle.Parameters.AddWithValue("p2", DateTime.Now.ToShortDateString());
ekle.ExecuteNonQuery();
Response.Flush();
Response.End();
このページでOutputCacheを使用していますか? –
私は...あなたを助けるでしょう」リンクの下にこれを期待し http://stackoverflow.com/questions/10829168/can-we-use-response-flush-instead-of-response-end/17038408 #17038408 – Viishnuu