我有一个VB6 ActiveX DLL,它在我们所有的机器上都可以正常运行数年。
最近,我们的IT经理设置了几个位置,以便他们远程进入Terminal Server 2008,并运行访问终端服务器上我的DLL的程序,以使它们的数据库位于公司网络的本地。我的DLL在终端服务器上运行非常慢。在本地服务器上运行大约需要5秒钟,而在终端服务器上运行则需要30秒钟。
我的DLL函数之一是将消息记录在XML日志文件中。当DLL记录其第一条消息时,它会通过创建记录DLL来初始化日志,然后,如果日志对象不是空的,它将记录该消息。当日志DLL写入消息时,它带有时间戳,每次将项目写入日志的调用似乎都需要5秒钟左右。
我编写了一个小型测试应用程序,该应用程序执行相同的操作并创建日志dll对象,然后在日志中写入项目大约需要1秒钟。我不知道为什么我的DLL在其他任何地方都能正常运行,而在终端服务器上却变慢了,我需要什么可能的原因的想法。
我不知道这是否很明显,但是我要取出FileMon(或ProcessMon),然后看看记录需要多长时间。那就是我的出发点。