0
我得到了一個頁面用戶從那裏下載文件。並且當用戶點擊下載鏈接並完成下載文件時,我爲我的文件下載計數器事件插入一個新記錄。 (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? – 2009-05-24 22:36:36
我希望這下面的鏈接來幫你...... http://stackoverflow.com/questions/10829168/can-we-use-response-flush-instead-of-response-end/17038408 #17038408 – Viishnuu 2013-06-11 07:16:40