gpt4 book ai didi

c# - global.asax的使用方法和作用域(用于应用程序结束后的文件清理)

转载 作者:太空狗 更新时间:2023-10-29 23:19:29 24 4
gpt4 key购买 nike

关于动态存储临时图像并在 Web 服务器的文件系统上处理它们的清理:(在 .NET 3.5 中使用 C#)。

有人建议我使用 global.asax 文件来处理这个问题。

我就是想不通这东西是怎么工作的。

我有两个独立的应用程序...

我发现 global.asax 应该在网站的根目录中。

问题:

1) 如何让 global.asax 只为这两个特定的应用程序触发。

2) 两个应用程序都需要创建一个字符串列表(文件位置),然后在应用程序终止时删除它们。我是在应用程序中还是在 global.asax 中实例化此数组?

我的代码如下所示:

List<string> fileLocations = new List<string>();  
//I don't know where to put this.

//The next line of code will be in both applications (this could
//be called many times in one application session. The names of
//the files are generated from the clock (milliseconds and
//seconds combined, I might change this to use the actual
//random class combined with sessionID)
fileLocations.Add(file);

void Application_End(object sender, EventArgs e)
{
// Code that runs on application shutdown
foreach(string file in fileLocations)
{
if(File.Exists(file))
File.Delete(file);
}
}

我对 global.asax 的实际工作方式感到困惑。是不是像接口(interface)一样使用?

最佳答案

了解如何使用 Global.asax 的一个好地方是阅读 ASP.NET Quickstart on it's usage .每个 Web 应用程序/站点都有一个。这有点像全局级别的事件。

请注意,在大多数服务器上,Application_End 事件不会经常触发。它只会在 IIS 应用程序池被卸载/回收、web.config 修改、/Bin 中的程序集更改或 web 服务器停止的其他情况下触发。在一个受欢迎的网站上,您的事件可能需要数周、数月才能开始。

关于c# - global.asax的使用方法和作用域(用于应用程序结束后的文件清理),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1240547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com