私は最近、Delphi で DataSnap を使用して、RESTful Web サービスになるものを作成し始めました。マルコ・カントゥ自身とインターネット上の他の何人かによるガイドに従った後、私は「チェーン」全体をうまく機能させることができました。
ただし、速度には小さな問題があります。クライアントはストリームを (そのサイズとともに) サーバーに送信できるようになりました (これは、DataSnap XE2 および TStream メソッド パラメータのバグにより、送信されたサイズまで読み取られます)、サーバーはそれをファイルに再構築して保存します。それをディスクに。
しかし、3.66MiB のファイルの場合、これには 50 秒以上かかります!
これは事実ですか?私が持っているサーバー上:
try
F := TFileStream.Create('written.dat', fmCreate);
F.Position := 0;
F.CopyFrom(Data, DataSize);
finally
F.Free;
そしてクライアント側で:
var
Server: TServerMethods1Client;
DBStream: TFileStream;
begin
Server := TServerMethods1Client.Create(SQLConnection1.DBXConnection);
try
DBStream := TFileStream.Create('DataSnapServer.exe', fmOpenRead);
DBStream.Position := 0;
Showmessage(IntToStr(Server.SendData(DBStream, DBStream.Size)));
finally
Server.Free;
どんな助けでも大歓迎です!
乾杯、 エイドリアン