z indy TIdHTTPServer, na even z OnCommandGet, istnieje możliwość przekazania do AResponseInfo.ContentStream strumienia z danymi. co jest w porządku. Kiedy mogę zwolnić ten strumień? przy założeniu, że serwer może uzyskać wiele żądań, a każde żądanie może zostać obsłużone w określonym czasie, a jeden strumień może zostać arbitralnie przypisany do drugiego.po przekazaniu strumienia do CommandGet, kiedy można go zwolnić?
gdzie można uwolnić strumień?
przykład kod:
var
StreamsToFree : TList;
//assume StreamsToFree := TList.create; properly
procedure TObject.IdHttpServerCommandGet(AContext: TIdContext;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var
stream : TFileStream;
begin
stream := TFileSTream.create('file.name');
AResponseInfo.ContentStream := stream;
AResponseInfo.ResponseNo := 200;
StreamsToFree.Add(generateReceiptXML);
end;
Kiedy strumień uwolniony? w jaki sposób i w jaki sposób znamy IdHttpServer, zakończyliśmy transfer?