2016-11-24 2 views
1

MVCサーバー側のプロジェクトからデータを送信し、このデータをJavaScript呼び出しで受け取るアプリケーションを作成しようとしています。その後、データがユーザーに提示されます。データは、〜1500エレメントの長さが制限された整数の配列で構成されています。この整数はサーバー側で計算され、クライアント側(JavaScript)でパネル上にグラフを描画するために使用されます。MVCアプリケーションサーバーからJavaScriptクライアントにデータを連続的に転送する

これは、サーバー側でHttpGetメソッドを使用して配列を公開し、クライアント側からこのメソッドをAjaxで呼び出すことで実現しました。一度これが簡単に思える、私が今直面している問題は、サーバー上で連続的に再計算された新鮮なデータでグラフを再描画する必要があることです。これを解決するために、HttpGetメソッドを呼び出し、JavaScriptでキャンバスを再描画する関数にsetIntervalを追加しました。

私がまだ残している問題は、JavaScriptの再描画では常に間隔が完了するのを待っているので、このアプローチがあまり効率的ではないということです。その後、Ajaxコールが実行され、実際の再描画が行われます。私ができることはありますか、またはドローのパフォーマンスを改善するために選択できる別のアプローチがあるので、ドローイングはより流暢になる可能性がありますか?

コードを提供してくれませんので、私はここでそれを見つけることはできません。

ありがとうございました!

+2

websockets(signalr)の使い方を知っていましたか?あなたは試してみるべきです – Cleiton

+0

@Cleiton私はウェブソケットについて読んだことがありますが、このアーキテクチャに収まるかどうかはわかりません。 'HttpGet'メソッド呼び出しをwebSocketに置き換えることが可能であれば、パフォーマンスを目に見える形で向上させるでしょう。これが、私が質問した理由です。私のアプローチに提案したような選択肢を見つけることです。だから私はそれに感謝しなければならない。 Webソケットはクライアント側(JavaScript)で動作すると思いますか? – meJustAndrew

答えて

1

Cleitonが書いたように、Webソケットは明白な選択です。また、Socket.ioが、私は推測するC#の公式の実装がないかどうかはわかりません。

関連する問題