C# 查找文件下载次数的准确方法

C# 查找文件下载次数的准确方法,c#,asp.net,C#,Asp.net,我有一个带有链接按钮的下载页面,用户使用该按钮下载文件。linkbutton的事件处理程序为用户设置响应类型以查看下载对话框并选择保存它。我需要准确地知道文件被下载了多少次。如果我在link按钮的事件处理程序中增加一个计数器,我会假设它不准确,因为用户可能会选择在下载对话框中单击Cancel 我到底需要在哪里钩住这个计数器递增逻辑?您可以编写一个HttpHandler来发送文件 发送完成后,您可以增加下载次数您可以编写发送文件的HttpHandler 发送完成后,您可以增加下载次数通过第二个.a

我有一个带有
链接按钮的下载页面,用户使用该按钮下载文件。
linkbutton
的事件处理程序为用户设置响应类型以查看下载对话框并选择保存它。我需要准确地知道文件被下载了多少次。如果我在link按钮的事件处理程序中增加一个计数器,我会假设它不准确,因为用户可能会选择在下载对话框中单击Cancel


我到底需要在哪里钩住这个计数器递增逻辑?

您可以编写一个HttpHandler来发送文件


发送完成后,您可以增加下载次数

您可以编写发送文件的HttpHandler


发送完成后,您可以增加下载次数

通过第二个.aspx文件发送文件,该文件只需从磁盘读取真实文件并将其回显到页面,然后在完成后,增加数据库中的下载计数器。

通过第二个.aspx文件发送文件,该文件只需从磁盘读取真实文件并将其回显到页面,然后在完成后,增加数据库中的下载计数器。

使用HttpResponse.TransmitFile而不是HttpResponse.SendFile-后者使用大量内存,如果文件很大!如果文件很大,我是否“必须”将文件作为块传输?可能是的。除非您确定文件很小,否则在这种情况下,是否缓冲它们并不重要。请使用HttpResponse.TransmitFile而不是HttpResponse.SendFile-如果文件很大,后者会占用大量内存!如果文件很大,我是否“必须”将文件作为块传输?可能是的。除非您确定文件很小,否则在这种情况下,是否缓冲它们并不重要。你能详细说明一下怎么做吗?我想你应该做一些类似的事情,我以前没有写过HttpHandlers。你能详细说明一下怎么做吗?我想你应该做类似的事情