Pha*_*bus 8 asp.net-mvc caching selectlist
我正在开发一个MVC网站,这是我公司做的第一个,我发现自己做的很多事情之一就是在控制器中创建选择列表,将它们放在viewdata中并在创建html.DropDownList时读取它们.对我来说,有些事情让我觉得有点臭.
有些页面可以重复列表(用户可以根据需要向酒店添加多个房间的酒店房间的电路板费率),目前我使用相同的选择列表,这是一个好的做法还是应该各有一个?
在前面的例子中,"room"是一个ascx,通过renderpartial或ajax调用通过jquery进行渲染.控制器传递选择列表的最佳方法是什么,以便ascx可以使用它,目前我添加到页面的viewdata,它将viewdata传递给renderpartial,但是然后在ajax调用上action方法也需要添加ascx的Viewdata选择列表,不确定这是最好的方法.
我有一个存储库,它保存这个"静态"数据并作为通用列表返回,因此每次控制器需要数据时它就会访问存储库以获取列表(除了电路板速率之外,还有一些事情,例如人员的标题,先生,夫人等等)我怀疑某种缓存会更好,因为数据很少发生变化.
有没有人在这些方面有任何建议?
如果这些 SelectList 完全相等,那么我肯定最好对多个 DropDownList 使用一个列表。
看起来像它的常见用法。我也在使用类似的方法,但考虑将一些控件移植到 Html.RenderAction,因为通过页面的 ViewData 来控制对我来说也感觉不好。是的,我知道它不会是纯 MVC :)
如果你的 ORM 支持缓存,当然使用它。
但如果您的项目不小并且您认为它将继续增长,我建议在您的存储库之上实现一个服务层(PoEAA 模式),其中也将包含业务逻辑和缓存管理逻辑。
如果你想透明地管理你的缓存,而不影响你的 dal 或 mvc 层,我认为最好的方法是使用 AOP。
归档时间: |
|
查看次数: |
7565 次 |
最近记录: |