我正在使用 LogParser COM API 在我的 WPF .NET 4.0 应用程序中查询事件日志,但现在我面临一个问题,即 ExecuteQuery 运行时间过长。在 Winform + .NET 2.0 的示例代码中,LogQueryClassClass 的 ExecuteQuery api 立即返回。我的参数与示例相同,如下所示
var inputFormat = new COMEventLogInputContextClassClass
{
direction = "FW",
fullText = true,
resolveSIDs = false,
formatMessage = true,
formatMsg = true,
msgErrorMode = "MSG",
fullEventCode = false,
stringsSep = "|",
iCheckpoint = string.Empty,
binaryFormat = "HEX"
};
现在我只是感到困惑,因为该 API 与 Winform + .NET 2.0 和 WPF + .NET 4.0 的行为不同没有任何意义。有人可以在这里启发我吗?
顺便说一句,我对示例应用程序和我的应用程序之间的远程服务器使用相同的查询和相同的参数。所以理论上性能应该是相同的,但现在通常 ExecuteQuery 在我的应用程序中需要大约 5 秒,但在示例应用程序中它会立即返回。但是,使用本地机器事件查询时,ExecuteQuery 都会在两个应用程序中立即返回。
我的开发环境是 Windows Server 2008 R2 + VS2010