我遇到一个奇怪的问题。

我使用Delphi和Indy上传和备份一些文件。
它可以在许多计算机(Win7 64bit,WinXP)上正常运行。
CPU使用率小于1%且最大。内存为20MB。

但是有一台计算机(Win 2008 R2)存在问题,我找不到原因。
CPU使用率为5-20%,需要100MB +的RAM,并且会增加很多。
此外,“页面错误”上升很多。每秒10万(在我的计算机上没有增加)

代码很简单

var
  IdHTTP: TIdHTTP;
  IdPostData: TIdMultiPartFormDataStream;
  sResponse: string;
begin
  IdHTTP := TIdHTTP.Create(nil);
  IdPostData:=TIdMultiPartFormDataStream.Create;

  try
    IdPostData.AddFile('file', 'C:\data.dat', '');

    sResponse:=IdHTTP.Post('http://web.com', IdPostData);

    ShowMessage(sResponse);
  finally
    IdHTTP.Free;
    IdPostData.Free;
  end;
end;

有人知道为什么“页面错误”会增加很多吗?
是否可能存在某些硬件问题?如何找到它?

最佳答案

只需将“IdHttp:= nil; IdPostData:= nil; sResponse:='Ok';”放在“try”子句之前,然后重试

-已审核-稍微更改了代码

procedure SendFile;
var
  IdHTTP: TIdHTTP;
  IdPostData: TIdMultiPartFormDataStream;
  sResponse: string;
begin
  sResponse := 'OK';
  IdHTTP := TIdHTTP.Create(nil);
  IdPostData:=TIdMultiPartFormDataStream.Create;
  try
    IdPostData.AddFile('C:\data.dat', 'data.dat', '');

    IdHTTP.Post('http://www.yahoo.com', IdPostData);

    ShowMessage(sResponse);
  finally
    IdHTTP.Free;
    IdPostData.Free;
  end;
end;

09-28 01:11