C# 在任何事件中不再使用自定义控件时删除文件?

C# 在任何事件中不再使用自定义控件时删除文件?,c#,asp.net,C#,Asp.net,我已经创建了一个自定义控件,用于将文件上载到服务器。这些上载的文件列表是我在会话中保存的文件名和文件路径,以及我保存到临时目录的文件 现在,我想删除这些文件,并在不再使用该控件时清除会话。如何查找该控件是否不再在页面中使用。我应该从自定义控件而不是从页面执行此操作 提前感谢。如果您基本上想要清理会话和临时目录,我可以想到的解决方案如下: 1) 在提交表单时,如果成功,在处理完这些内容后,清除这些文件的临时目录和会话变量 2) 如果您发现自己试图在会话变量已设置时写入该变量,请删除从该变量中找到的

我已经创建了一个自定义控件,用于将文件上载到服务器。这些上载的文件列表是我在会话中保存的文件名和文件路径,以及我保存到临时目录的文件

现在,我想删除这些文件,并在不再使用该控件时清除会话。如何查找该控件是否不再在页面中使用。我应该从自定义控件而不是从页面执行此操作


提前感谢。

如果您基本上想要清理会话和临时目录,我可以想到的解决方案如下:

1) 在提交表单时,如果成功,在处理完这些内容后,清除这些文件的临时目录和会话变量

2) 如果您发现自己试图在会话变量已设置时写入该变量,请删除从该变量中找到的所有文件,然后进行设置

3) 如果用户从未提交、关闭浏览器等,则将代码添加到Global.asax的Session_End方法中,并在其中进行清理

protected void Session_End(object sender, EventArgs e)
{
     if(Session["myVar"] != null)
     {
         // Do Cleanup
     }
}

当控件不再使用时,你指的是什么?它是网页上使用的网络控件。可能是当用户导航到另一个页面时。另外,如果我实现IDisposable接口。dispose()方法是自动调用的还是需要手动调用dispose()方法?是否有理由在请求完成之前不从临时目录中删除上载的文件?UserControls已实现IDisposable,但这将在每个请求结束时进行处理,而不是在用户离开页面进入另一个页面时。