1
如何在C#中用ASP.NET製作一個簡單的文件下載計數器?例如,當用戶點擊並下載文件時,我想用+1更新它,並將它的文件名保存到數據庫。當用戶onmouse通過鏈接我想顯示文件下載時間的工具提示。但如果用戶取消下載狀態它不會更新它。簡單的文件下載計數器與ASP.NET?
如何在C#中用ASP.NET製作一個簡單的文件下載計數器?例如,當用戶點擊並下載文件時,我想用+1更新它,並將它的文件名保存到數據庫。當用戶onmouse通過鏈接我想顯示文件下載時間的工具提示。但如果用戶取消下載狀態它不會更新它。簡單的文件下載計數器與ASP.NET?
如果您不想更新,除非該文件被完全下載,您必須編寫自己的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
所以雅給我舉例的通用處理這個? – 2009-05-24 15:10:15