2

JavaScript を使用して Web サービスを呼び出してデータを取得し、Silverlights 分離ストレージを使用してクライアント コンピューターにデータをキャッシュする ASP.NET AJAX アプリケーションを構築しています。最終的にデータがダウンロードされると、JavaScript に渡され、HTML DOM を使用してページに表示されます。

私が理解しようとしているのは、Silverlight でこれらの Web サービス呼び出しを行い、読み込まれたデータを JavaScript に渡すことは理にかなっていますか? また、Silverlight は、Web サービスを JavaScript で呼び出すか Silverlight で呼び出すかに関係なく、Isolated Storage を使用してデータをディスクに保存します。JavaScript で Web サービスを呼び出すと、データが Silverlight に渡されてキャッシュされます。

私は両方の方法でいくつかのプロトタイプを作成しましたが、パフォーマンスはどちらの方法でもほぼ同じであることがわかりました。また、クライアント側のデータ アクセス レイヤー全体に Silverlight を使用するように私に指示しているキッカケの 1 つは、更新されたデータをタイマーで定期的にチェックしてキャッシュにダウンロードし、必要なときに JavaScript をロードできるようにする必要があることです。

誰かがこれに似たようなことをしましたか? もしそうなら、記述された JavaScript または Silverlight メソッドのパフォーマンスに関連する経験は何ですか?

4

4 に答える 4

3

Silverlight は JSON および XML ベースのサービスを処理できるため、応答の形式はまったく関係ありません。ただし、次の点を考慮する必要があります。

1) Silverlight は JavaScript よりも約 1000 倍高速です。2) Web サービスがネイティブの SOAP ベースである場合、Visual Studio はプロキシを生成できるため、SOAP メッセージを解析する必要はありません。3) Silverlight には LINQ to XML と LINQ to JSON があり、POX と JSON の両方を簡単に解析できます。

完璧な世界では、「エンジン」には Silverlight を使用し、Silverlight が利用できない場合は JavaScript にフォールバックします。

こんにちは、ローラン

于 2008-10-03T22:06:40.553 に答える
1

考慮すべきもう 1 つの点は、データを JSON 形式で取得すると、XML や Web サービスよりも高速になることです。JSON はすぐに JavaScript オブジェクトになり、XML のように解析する必要はありません。個人的には、JavaScript を使用します。

記事: JSON で AJAX を高速化する

于 2008-10-03T19:57:34.743 に答える
0

JavaScript はマルチスレッド化されていないため、Silverlight を使用してデータにアクセス/キャッシュし、それを JavaScript に渡して表示すると、パフォーマンスが大幅に向上し、ブラウザをロック/フリーズすることを控えて、ユーザーがデータを処理しながら操作を続けることができるようにしています。ロードします。

于 2008-10-03T20:32:54.593 に答える
0

JSON 形式のデータを渡すと、XML SOAP メッセージとは異なり、SOAP ヘッダーやその他のさまざまな情報を必要とせず、純粋なデータであるため、部分的に高速になります。したがって、メッセージの合計サイズが小さくなります。

于 2008-10-03T21:14:02.860 に答える