Esent LogFileCorrupt-异常
Esent LogFileCorrupt-Exception
我正在使用 ManagedEsent Library 从 Internet Explorer 的 缓存中使用 WebCacheV01.dat 文件读取数据。尽管从不同的机器分别更改 WebCacheV01.dat ,但我每次都会收到以下异常。
Microsoft.Isam.Esent.Interop.EsentLogFileCorruptException: 'Log file
is corrupt'
有没有其他人遇到过这种情况?你是怎么做到的?我已附上屏幕截图以显示抛出异常的位置。
这里发生了很多事情:
- 创建
Instance
非常昂贵。它应该做一次,然后重复使用。每次您创建 Instance
时,它都会读取数兆字节的日志文件,以确保清理所有内容。
Session
不算太贵。如果你有一个服务器规模的应用程序,那么你应该重用会话,但在小范围内它并不重要。
- 您没有将参数设置为
Instance
,例如日志文件路径、日志文件前缀(我认为它的 v01
用于网络缓存?)
- 查看 Windows 应用程序事件查看器,查找类别
ESENT
事件。确切的日志文件位置应出现在事件日志条目中。
- 不支持直接访问这些文件。如果您修改文件,则网络缓存可能会出现故障。
- 如果是为了取证目的,请向 MS 立案并让取证人员参与进来。应该有一个渠道来帮助执法人员完成他们的工作。
- 您提到了不同的机器。如果您从不同的机器复制文件,那么它可能采用不同的格式,旧版本的 windows 根本无法理解。
esent.dll
可以读取旧文件,但不能读取未来的文件。
希望对您有所帮助,
-马丁
我正在使用 ManagedEsent Library 从 Internet Explorer 的 缓存中使用 WebCacheV01.dat 文件读取数据。尽管从不同的机器分别更改 WebCacheV01.dat ,但我每次都会收到以下异常。
Microsoft.Isam.Esent.Interop.EsentLogFileCorruptException: 'Log file is corrupt'
有没有其他人遇到过这种情况?你是怎么做到的?我已附上屏幕截图以显示抛出异常的位置。
这里发生了很多事情:
- 创建
Instance
非常昂贵。它应该做一次,然后重复使用。每次您创建Instance
时,它都会读取数兆字节的日志文件,以确保清理所有内容。 Session
不算太贵。如果你有一个服务器规模的应用程序,那么你应该重用会话,但在小范围内它并不重要。- 您没有将参数设置为
Instance
,例如日志文件路径、日志文件前缀(我认为它的v01
用于网络缓存?) - 查看 Windows 应用程序事件查看器,查找类别
ESENT
事件。确切的日志文件位置应出现在事件日志条目中。 - 不支持直接访问这些文件。如果您修改文件,则网络缓存可能会出现故障。
- 如果是为了取证目的,请向 MS 立案并让取证人员参与进来。应该有一个渠道来帮助执法人员完成他们的工作。
- 您提到了不同的机器。如果您从不同的机器复制文件,那么它可能采用不同的格式,旧版本的 windows 根本无法理解。
esent.dll
可以读取旧文件,但不能读取未来的文件。
希望对您有所帮助,
-马丁