【发布时间】:2014-05-19 21:06:44
【问题描述】:
我有一个遗留的 Classic ASP 应用程序以及一些总共有数千个页面的 .NET 页面,我知道其中很多页面不再使用/折旧,应该将其删除以进行清理上代码库。它们托管在 IIS 下,我只是想知道如何才能找出哪些页面没有被点击,以便安全地删除它们。
【问题讨论】:
标签: asp.net iis asp-classic
我有一个遗留的 Classic ASP 应用程序以及一些总共有数千个页面的 .NET 页面,我知道其中很多页面不再使用/折旧,应该将其删除以进行清理上代码库。它们托管在 IIS 下,我只是想知道如何才能找出哪些页面没有被点击,以便安全地删除它们。
【问题讨论】:
标签: asp.net iis asp-classic
使用日志解析器查找系统中存在哪些页面,然后再次使用 logParser 查找系统中的哪些页面。找出折旧页面的差异。
Which Pages Exists in your System
logparser -i:FS "SELECT Path from c:\inetpub\wwwroot*.* ORDER BY Path
Which Pages are hit in your Application
logparser "select cs-uri-stem from [LogFileName] where cs-uri-stem like '%aspx%' or cs-uri-stem like '%ashx%' group by cs-uri-stem order by cs- uri-stem"
这些将为您生成两个不同的列表。将它们导入数据库(SQL Server)并使用以下查询
从 PAGES_EXISTS 中选择路径
除了
从 PAGES_HIT 中选择路径
【讨论】:
您可能应该查看日志文件以查看哪些页面是 /hit/ 并基于此保持这些页面处于活动状态。
【讨论】:
日志解析似乎是一种痛苦的方式。如果您有能力再收集几个月的数据,请在您的经典 asp 页面中添加一个子例程,以将每个页面记录到 sql db 并更新计数。可能很有用,因为如果您删除这些页面,最终您将编写 301 重定向。
【讨论】:
如果它们不在日志中,这并不一定意味着它们未使用(ASP 包含)- 我将为所有 ASP 页面创建一个索引(使用 Lucene 之类的东西),然后搜索每个文件- 如果没有命中,则可以肯定不会使用它。您还可以检查文件系统上的最后访问时间(如果这在您的服务器上运行 - https://msdn.microsoft.com/en-us/library/windows/desktop/ms724290%28v=vs.85%29.aspx)。
【讨论】: