gpt4 book ai didi

asp.net - 查找并删除孤立的网页、图像和其他相关文件

转载 作者:行者123 更新时间:2023-12-01 16:11:08 28 4
gpt4 key购买 nike

我正在处理许多网站,其文件可追溯到 2000 年。这些网站随着时间的推移而有机增长,导致大量孤立网页,包括文件、图像、CSS 文件、JavaScript 文件等...这些孤立文件会导致许多问题,包括可维护性差、可能存在安全漏洞、客户体验差以及让像我这样的 OCD/GTD 怪胎发疯。

这些文件的数量有数千个,因此完全手动的解决方案是不可行的。最终,清理过程将需要相当大的质量检查工作,以确保我们不会无意中删除所需的文件,但我希望开发一种技术解决方案来帮助加快手动工作速度。此外,我希望将流程/实用程序落实到位,以帮助防止将来发生这种困惑状态。

环境考虑因素:

  • 经典 ASP 和 .Net
  • 运行 IIS 6 和 IIS 7 的 Windows 服务器
  • 多种环境(开发、集成、QA、阶段、生产)
  • 用于源代码控制的 TFS

在开始之前,我想从成功完成类似流程的其他人那里获得一些反馈。

具体来说,我正在寻找:

  • 识别和清理孤立文件的流程
  • 保持环境中没有孤立文件的过程
  • 帮助识别孤立文件的实用程序
  • 帮助识别损坏链接的实用程序(文件删除后)

我不是在寻找:

  • 针对我的组织强制症的解决方案...我喜欢我现在的样子。
  • Snide 对我们仍在使用经典 ASP 的评论。我已经感觉到疼痛了。无需擦进去。

最佳答案

起初,我认为您可以通过扫描文件中的链接,然后对文件夹结构进行比较来摆脱困境 - 但这只能识别简单的孤立文件,而不是相互引用的孤立文件的集合。因此,使用 grep 可能无法帮助您实现这一目标。

这不是一个简单的解决方案,但可以成为保持环境清洁的出色实用程序(因此值得付出努力)。另外,您可以在所有环境中重复使用它(并与其他人共享!)

基本思想是设置并填充一个有向图,其中每个节点的键都是绝对路径。这是通过扫描所有文件并添加依赖项来完成的 - 例如:

/index.html     -> /subfolder/file.jpg
-> /subfolder/temp.html
-> /error.html
/temp.html -> /index.html
/error.html
/stray.html -> /index.html
/abandoned.html

然后,您可以通过在根页面上执行 BFS 来识别所有“可访问”文件。

使用方向图,您还可以按文件的进出度对文件进行分类。在上面的例子中:

/index.html     in: 1 out: 2
/temp.html in: 1 out: 1
/error.html in: 1 out: 0
/stray.html in: 0 out: 1
/abandoned.html in: 0 out: 0

因此,您基本上是在寻找已放弃的 in = 0 的文件。

此外,out = 0 的文件将成为终端页面;这在您的网站上可能是理想的,也可能是不理想的(如错误所示,这是一个错误页面)。

关于asp.net - 查找并删除孤立的网页、图像和其他相关文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1702683/

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