我有一个Report.aspx页面加载不同的UserControls
来查看特定的对象数据。 UserControls
继承了覆盖特定操作方法的相同基本类型类。我为每个UserControl
使用特定的Service类来获取实现具有操作签名的特定接口的数据。ASP.NET在回发中动态添加UserControl和缓存数据
我现在使用工厂模式将实际的UserControl
类型返回到Report.aspx并将其加载到PanelControl
中,然后调用控件方法根据一些参数来获取一些数据。
这UserControl
应该加载在每一个回发,由于它的动态性质,任何其他解决方案被接受。尽管我不需要从调用DL的BL中加载数据,但在每次回发中都是如此。我试图找到一个解决方案,向BL展示我不需要再次调用这些数据,因为我只是发布其他问题(例如下载报告文件,打印等)。我希望在BL级别上发生这种情况,而不是ASPX前端。到目前为止,我认为我应该让BL以某种方式知道这个(PostBack或!PostBack)。我想我可以创建一个参数true,false并传递PostBack属性。
任何想法,体系结构和最佳实践都非常受欢迎。
这不会导致业务层中的有效缓存策略。我需要在BL中发生一些事情,可能会创建一个CL或其他东西。 –