0

我正在使用ManagedEsent 库使用WebCacheV01.dat文件从Internet Explorer 的缓存中读取数据。尽管从不同的机器上分别更改了 WebCacheV01.dat,但我每次都得到下面的异常。

Microsoft.Isam.Esent.Interop.EsentLogFileCorruptException:“日志文件已损坏”

有没有其他人遇到过这个?你是怎么做的?我附上了一个屏幕截图,以显示引发异常的位置。在此处输入图像描述

4

1 回答 1

1

这里发生了很多事情:

  • 创建它Instance是昂贵的。它应该做一次,然后重复使用。每次您创建Instance它时,它都会读取数兆字节的日志文件,以确保所有内容都已清理干净。
  • Session不太贵。如果你有一个服务器规模的应用程序,那么你应该重用会话,但在小规模上它并不重要。
  • 您没有将参数设置为Instance,例如日志文件路径、日志文件前缀(我认为它v01用于 webcache?)
  • 查看 Windows 应用程序事件查看器,查找类别ESENT事件。确切的日志文件位置应出现在事件日志条目中。
  • 不支持直接访问这些文件。如果您修改文件,则网络缓存可能会出现故障。
  • 如果是为了取证目的,那就向 MS 开一个案子,让取证人员参与进来。应该有一个渠道来帮助执法人员完成他们的工作。
  • 你提到了不同的机器。如果您从不同的机器复制文件,那么它可能是旧版本的 windows 根本无法理解的不同格式。esent.dll可以读取较旧的文件,但不能读取未来的文件。

希望有帮助,

-马丁

于 2017-05-10T14:50:33.877 回答