我有一个使用 ASP.NET MVC 2 框架的 ASP.NET webapp。它允许用户将文件上传到上传文件夹。当 Web 浏览器访问子文件夹中的图像时会出现此问题:
uploads 文件夹是静态的,用户不能修改,但它下面的任何内容都是可修改的。
在上面的示例中,image_gallery 文件夹被锁定,因为 w3wp.exe 似乎在 sub_folder 目录上创建了一个句柄(使用 sysinternals 的进程资源管理器)。我仍然可以重命名 sub_folder 目录,并且在重命名后句柄似乎仍然存在,但我无法重命名父文件夹(在这种情况下为 image_gallery)。
我仍然可以在文件夹中浏览并查看其他图像和文件等。但无法重命名父文件夹。
由于这是使用 MVC 2 框架,我已经为上传文件夹添加了一个排除项,如下所示:
routes.IgnoreRoute("upload/{*pathInfo}");
进入 global.asax,所以我假设 ASP.NET 直接提供这些图像(在 MVC 框架之外)
所以我想我的问题是,有没有办法阻止 IIS 将句柄放在特定目录上或强制它删除句柄?即使我指定了 ignoreroute,MVC 2 框架是否在做一些棘手的事情?
提前感谢您的任何提示!