1

Web API REST 投稿を作成するボタンを追加した VS 2013 Lightswitch HTML クライアント アプリケーションがあります。これは基本的に、元のアップストリーム ソースからテーブル内のデータを「更新」します。これはすべて正常に機能していますが、操作には数分かかるため、実行時にユーザーにステータスを報告したいと考えています。

現在、投稿が次のように返されたときに単純な Refresh を添付しようとしました:

 $.post("/api/data/", "Refresh", function (response) {
        screen.getData().then(function (newData) { screen.reQuery(); });
    });

これは実際には更新を行うようには見えませんが (screen.reQuery は明らかに間違った呼び出しです)、代わりにサーバーにこの長時間実行アプリケーションの進行状況を表示させることをお勧めします。

私が持っていた1つの考えは、サーバー呼び出しが処理中に応答で「完了率」の形式でデータを返すようにすることでしたが、これがクライアントに断片的に配信されるかどうか、また最善の方法かどうかはわかりませんこれを Lightswitch でユーザーに表示します。

これに役立つ可能性のある他のサードパーティのライブラリを受け入れていますが、可能であれば、今のところ SignalR のようなものを追加するのではなく、WebAPI を使用してコマンドを実行したいと考えています。ありがとう!

4

1 に答える 1

-2

一般に、これはサーバー上で数分かかる操作を実行するための最良のアイデアではないようです。

合理的な代替手段は、1 つの呼び出しを作成することです。これにより、複数の Web ジョブが作成されます (詳細については、Azure Web ジョブを参照してください)。Web ジョブは小さな個々のタスクに分割され、HTML は Web API ではなく Web ジョブを照会します。

于 2014-05-14T05:14:17.610 に答える