我正在尝试使用 EventLogReader(eventLogQuery) 类从具有大约 100 000 条记录的服务器读取事件日志。
我正在使用分页,每个页面在我的屏幕上只会显示 25 条记录。因此,我将在第一页的总记录中读取 25 条记录,在第二页读取接下来的 25 条记录,依此类推。
我的问题是如何获取以下代码段的总记录数,例如由于该 eventLogQuery 而受影响的总行数。
EventLogReader reader = new
EventLogReader(eventLogQuery);
reader.Seek(SeekOrigin.Begin, filter.PageStart);
eventLogs.TotalLogs = **totalRowsAffected**;
EventRecord eventInstance = reader.ReadEvent();
int i = filter.PageSize;
while (eventInstance != null && i-- > 0)
{
try
{
eventLogs.Entries.Add(new EventLogData
{
Type = eventInstance.LevelDisplayName,
Source = eventInstance.ProviderName,
Time = eventInstance.TimeCreated,
Category = eventInstance.TaskDisplayName,
EventId = eventInstance.Id,
User = eventInstance.UserId != null ? eventInstance.UserId.Value : "",
Computer = eventInstance.MachineName,
Message = eventInstance.FormatDescription(),
FullXml = eventInstance.ToXml()
});
}catch{}
eventInstance = reader.ReadEvent();
}
}
return eventLogs;