0

CAB/SCSFで複雑なリッチクライアントユーザーインターフェイスを設計しているチームがいます。検討している設計要素の1つは、CABモジュールと、場合によってはCABビュー自体の動的ロードです。「箱から出して」SCSF/CABを利用すると、起動時にすべてのモジュールアセンブリが自動的にロードされます。リッチクライアントアプリケーションの起動時間は非常に長く、モジュールを追加するにつれて長くなります。

他の人々がCABモジュールのロードプロセスの標準的なオーバーヘッドを調べているかどうか、私はただ興味があります。それはすべてCABビューのロード内にありますか?もしそうなら、モジュールアセンブリの負荷フットプリントを最小限に抑えることができるように、CABビューの「オンデマンド」ロードメカニズムの設計を検討した人はいますか?ここでの考え方は、ビューが実際に最初に必要になるまでロードされるべきではないということです。また、モジュールレベルで「オンデマンド」のロードメカニズムを設計することには、実際のメリットはありますか?

ベストプラクティスについての考えをいただければ幸いです...

(この質問は元々http://social.msdn.microsoft.com/Forums/en-US/modelingandtools/thread/dce936fe-45f9-420c-90ca-286a8d553e35に表示されていたため、ダン)

4

2 に答える 2

0

非常に複雑な UI とそれに対応する複雑なビジネス ロジックがあるため、アプリケーションには CAB を広く使用しています。私たちの場合、 cab を使用すると、フレームワークがビューだけでなく、作業項目の階層とすべての UI コンポーネント間の配線も設定するため、オーバーヘッドが追加されます。しかし、アプリケーションに必要なすべてのオブジェクトとデータをインスタンス化してロードするのに必要な時間と比較すると、時間は重要ではないと思いますが、いつかこの仮定を徹底的にテストする必要があります.

ロード時間の管理と利用可能な機能の管理を支援するために、 --> 必要なモジュールのみを選択的にロードするために使用できる独自の構成マネージャーがあります --> ユーザーが要求した場合にのみビューを作成できるように設定し、事前に --> 手動更新時にのみデータを遅延読み込み --> ユーザーの要求に基づいてネットワーク サービスからのデータ出力を調整する設定。

于 2010-08-26T02:37:59.920 に答える
0

私の知る限り、モジュールのロードにはそれほど時間がかかりません。SCSF には 2 つのエンタープライズ レベルのアプリケーションがあり、そのソース コードの 1 つは 700 MB を超えています。これは非常に巨大で、モジュールのロードで問題に直面したことはありません。また、ビューが作成されるまで、メモリ内でインスタンス化されません。モジュール内のビューに関する情報はロードされますが、インスタンス化されません。あなたの発言は紛らわしいです。

モジュールを初めてロードするときに、どのようなサービス コールやその他のアプリケーション セットアップを実行しているのかと思います。

于 2011-08-17T18:51:35.830 に答える