0

UserControls特定のオブジェクト データを別の方法で表示するために別のページを読み込む Report.aspx ページがあります。特定のUserControls操作メソッドをオーバーライドする同じ基本型クラスを継承します。それぞれに特定の Service クラスを使用してUserControl、操作シグネチャを持つ特定のインターフェイスを実装するデータを取得します。

ここで、ファクトリ パターンを使用して実際のUserControl型を Report.aspx に返し、それを にロードしてからPanelControl、コントロール メソッドを呼び出して、いくつかの引数に基づいてデータをフェッチします。

これUserControlは動的な性質のため、すべてのポストバックにロードする必要があります。他のソリューションは受け入れられます。ポストバックごとに、DL を呼び出す BL からデータをロードする必要はありません。他の問題 (たとえば、レポート ファイルのダウンロード、印刷など) のために返信するだけなので、再度データを要求する必要がないことを BL に示すための解決策を見つけようとしています。ASPX フロント エンドではなく、BL レベルでこれを実現したいと考えています。これまでのところ、BL に何らかの方法でこれを知らせる必要があると思います (PostBack または !PostBack)。パラメータ true、false を作成して、PostBack プロパティを渡すことができると思います。

アイデア、アーキテクチャ、ベスト プラクティスは大歓迎です。

4

3 に答える 3

0

非常に優れたソリューションは、.NET 4.0 の System.Runtime.Caching であると判断しました。使用する必要があるすべてのレイヤーで非常にうまく機能します。

http://msdn.microsoft.com/en-us/library/dd985642

于 2012-05-11T13:56:10.367 に答える
0

if(!Page.IsPostback){....} 内で BL を呼び出すロジックをラップしないのはなぜですか?

于 2012-05-11T07:06:04.190 に答える