3

ajaxリクエストのレイテンシーを追加して、アプリの速度を落としたいです。私には2つのオプションがあります:javascriptでそれを行うこととサーバーサイドでそれを行うことです。javascriptを使用すると、リクエストにsetTimeoutを簡単に追加できますが、約30の異なるリクエストがあり、より少ないコードでより良い方法があるかどうか疑問に思っています。

サーバー側のajaxリクエストを遅くしたい。それを行うための最良の方法は何ですか?私は約25の異なるasmxWebサービス(まもなくwcfに変換されます)を使用していますが、すべてのリクエストに1000msのレイテンシーを持たせる方法を考えています。

私の目標は、変更をできるだけ少なくして、この機能をオン/オフにできるようにすることです。

あなたの提案をありがとう。

理由がわからない場合:ローカルマシンで実行しています。ユーザーテストセッションを実行し、実際のajaxリクエストをシミュレートする必要があります。レイテンシーがなければ、ajaxリクエストはほぼ瞬時に発生します。

4

4 に答える 4

4

あなたは追加することができます

System.Threading.Thread.Sleep(1000)

OnRequestBegin-Handler内、または実際の作業を行う前にリクエストをインターセプトできる場所。

于 2012-05-18T18:25:13.307 に答える
0

ajax呼び出しにjqueryを使用している場合は、jqueryコードファイルに移動して、そこにレイテンシーを追加するだけです。それはうまくいくでしょうか?

メインのjqueryファイルで次の行を探します。

ajax: function( url, options ) {

次の直後にこのコードを追加します。

var ms = 1000 //wait time in milliseconds
ms += new Date().getTime();
while (new Date() < ms) { }

ms待機するミリ秒数です

于 2012-05-18T18:15:49.427 に答える
0

ajaxリクエストに応答する前に、サーバー側のコードでタイムアウトイベントをフックすることができます。少なくとも、潜在応答とのajaxの相互作用は本物です。

于 2012-05-18T18:17:10.500 に答える
0

私はあなたが制御し、遅くすることができる方法でhttpプロキシを置きます。

私はPerlを最もよく知っているので、http://metacpan.org/pod/HTTP :: Proxyのようなものを使用し、1秒待つだけのフィルターメソッドを追加します。

于 2012-05-18T18:18:44.477 に答える