2009-05-24 56 views
1

如何在C#中用ASP.NET製作一個簡單的文件下載計數器?例如,當用戶點擊並下載文件時,我想用+1更新它,並將它的文件名保存到數據庫。當用戶onmouse通過鏈接我想顯示文件下載時間的工具提示。但如果用戶取消下載狀態它不會更新它。簡單的文件下載計數器與ASP.NET?

回答

0

如果您不想更新,除非該文件被完全下載,您必須編寫自己的generic handler,其中您在處理結束時更新數據庫。

對於DB,我建議有您儲存每次下載的出現一表,一個您存儲每個文件的信息,例如

tblDownloads 
************ 
DlID (GUID, not nullable, primary key) 
Date (datetime, not nullable) 
FileID (GUID, not nullable) 

tblFiles 
******** 
FileID (GUID, not nullable, primary key) 
Url (nvarchar(255), not nullable) 
Title (nvarchar(255), not nullable) 
Description (nvarchar(max)) 

(示例數據類型等的命名,因爲他們會在MSSQL ...)

獲取特定文件的下載次數,你則只需在數據庫中查詢

SELECT COUNT(DlID) FROM tblDownloads WHERE FileID = @FileID 

其中@FileID是你感興趣的文件ID的參數。如果你想環出網址中的所有文件,例如,您可以查詢

SELECT 
    f.FileID, f.Url, f.Title, f.Description, COUNT(d.DlID) AS DownloadCount 
FROM tblFiles f INNER JOIN tblDownloads d ON f.FileID = d.FileID 
GROUP BY f.FileID, f.Url, f.Title, f.Description 
+0

所以雅給我舉例的通用處理這個? – 2009-05-24 15:10:15