以下代码是在线程中调用Web Service的代码,
HTTPRIO1:=THTTPRIO.Create(nil);
HTTPRIO1.URL:=WebServiceUrl;
itest:=HTTPRIO1 as IFep_Service;
itest.ServiceTest;
itest:=nil;
以下代码是对应的Web Service中的函数的实现,
try
if not FileExists('D:/Input.txt') then
begin
AssignFile(tfError, 'D:/Input.txt');
ReWrite(tfError);
end else
begin
AssignFile(tfError, 'D:/Input.txt');
Append(tfError);
end;
Writeln(tfError,'开始调用时间:'+DateToStr(Date)+' '+TimeToStr(Time));
CloseFile(tfError);
except
end;
Sleep(60000);
try
if not FileExists('D:/Input.txt') then
begin
AssignFile(tfError, 'D:/Input.txt');
ReWrite(tfError);
end else
begin
AssignFile(tfError, 'D:/Input.txt');
Append(tfError);
end;
Writeln(tfError,'结束调用时间:'+DateToStr(Date)+' '+TimeToStr(Time));
CloseFile(tfError);
except
end;
虽然多个线程在代码调试时都进入了调用Web Service的部分,但是记录的文件中始终只能每次有两个线程的开始时间记录,然后要等等待的时间结束后才有下两个线程的调用的记录的开始时间,这是为什么呢?
等待结果中......