- - PR -
【ASP.NET】SPREADを使用した場合のレスポンス問題
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-05-02 20:07
お世話になってますm(_ _)m
今日はスレ違いかもしれないのですが、皆様の意見をうかがいたいと 思い、書き込みをしました。 (開発言語:VB.NET、.NETフレームワーク1.1) 上記の環境で開発をおこなっています。 さらにGrapeCityのSPREAD for .NET2.0JWeb FormEdition を使用しています。 当初、SPREADを使用する際にViewStateにデータを丸ごと入れていました。 しかし、SPREADのViewStateのデータ量が膨大だったため、ViewStateを使わないように 修正しました。 処理時間はかなり短縮されましたが、まだレスポンスが良いとは言えません。 サーバー側のイベント処理に時間がかかっているというよりも、 サーバーがクライアントにデータを送るための準備やクライアント側の表示に時間がかかっているようです。 ViewStateは使わないようにしているので、あと削れるのはHTMLのデータだけです。 そこで、SPREADのコントロール自体が重いのでは?とういうことで、他に同様の使い方ができるコントロールはないか?もしくは、SPREADを使用したままでもHTMLデータを軽くする方法はないかと思い、ここに書き込みをさせていただきましたm(_ _)m ちなみに、今SPREADを使用してやっていることは、 ・単純なデータ表示 ・ボタンの使用 (「選択」ボタンのようなものを用意し、クリックイベントをとりサーバー側で処理) ・スクロールバーの使用 ・ラジオボタンの使用 ・セル単位での背景色の変更 ・セルに対してのイメージの貼り付け です。 些細なことでもよいですので何かご存知の方がいらっしゃいましたら 宜しくお願い致しますm(_ _)m | ||||||||
|
投稿日時: 2006-05-02 20:10
Repeator を使うくらいしか思い浮かびませんが、データ量がそもそも多いんじゃないですか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-05-02 20:33
じゃんぬねっとさん、いつもありがとうございますm(_ _)m
>データ量がそもそも多いんじゃないですか? 確かに、多いです。。 現在35列60行程度のデータが表示されています。 ちなみに、全部のセルにデータが表示されているわけではありません。 セルのタイプもテキスト・ボタン・イメージ、と共通のセルタイプでもありません。 やはり、データが多いのでしょうか。。 なんとか速くするように、と言われていますが データ量が問題となると、画面の仕様自体を見直してもらわないと、と思っています。 (画面の仕様を簡単に変えてくれともいえないので、今いろいろと調べてたわけです^^;) >Repeator を使うくらいしか思い浮かびませんが Reporterというのはツールの名前でしょうか? 勉強不足ですみません(>_<) | ||||||||
|
投稿日時: 2006-05-02 20:43
ページングで補うべきじゃないでしょうか。
つづりをお互い間違えてますね。(^^) 正しくは Repeater です。 HTML レベルで言えば TABLE 要素による表組みになるだけですが、どうでしょうね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-05-03 04:23
NAL-6295です。
苦肉の策ですが。 aspxファイル中のインデントを全部削除すると、その分軽くなります。 DataGrid等、デザインのインデントのまま出力しているので、データ量が多い時など、 インデントを削除する前と後でレンダリング後のHTMLファイルのサイズが3分の2になった事もありました。 まぁ、一番良いのは、じゃんぬねっとさんも仰っているとおりページングでしょうね。 でも、レスポンスに時間がかかっているのか処理で時間がかかっているのか計測した方が良いでしょうね。 [ メッセージ編集済み 編集者: NAL-6295 編集日時 2006-05-03 04:27 ] | ||||||||
|
投稿日時: 2006-05-04 07:47
ViewState も、切れるところは切っておけばいいでしょう。
| ||||||||
|
投稿日時: 2006-05-04 10:22
まずは、ボトルネックが何処なのかを調査するべきでしょう。 トレース表示とか。 InetSpy/横取り丸とか。
DataGridですね。 というより、DataGridで機能が足りないからSPREADを使うものでは? Spread以外にも市販のGridコントロールがあります。 | ||||||||
|
投稿日時: 2006-05-08 14:51
じゃんぬねっとさん、NAL-6295さん、Jittaさん、todoさん
お返事ありがとうございますm(_ _)m まず、ページングについてですが、SPREADのページング機能は行数を設定して、その行数を超えると改ページするというものですよね。(あってるかな) しかし、今回の表の場合、仕様上どうしても行数を削ることはできないのです。。 単純にデータを上から表示、とういものだったらよかったんですが。。 次にaspxファイルのインデントを全て消す、というのもやってみましたが、HTMLファイルのサイズに変化は見られませんでした。。 やり方がまずかったのでしょうか(;_;) 実際、ここに行き着くまでに、トレース表示をして、どこに時間がかかっているかというのを調べました。 見ると、Prerenderという処理に時間がかかっているようでした。 そして、クライアント側に帰ってきて表示するのにまた時間がかかり。。という状況です。 引用: -------------------------------------------------------------------------------- DataGridですね。 というより、DataGridで機能が足りないからSPREADを使うものでは? Spread以外にも市販のGridコントロールがあります。 -------------------------------------------------------------------------------- DataGridですか。 私が開発に入ったときにはすでにSPREADを使用することになっていたので、DataGridとSPREADの機能の違いを調査したわけではないのですが、DataGridでできることならばDataGridで実現させた方が当然、データは少なくて済むわけですよね。。 DataGridで代用可能か、どのぐらいの修正が必要か、を調べて行きたいと思います。 |
1