我们已经提出了3个选项,用于在带有缓存的Actions /页面上提供管理按钮,并想知道是否还有其他选项或性能/内存/可用性问题需要注意:
背景:我们有一个非常简单的博客,并希望允许管理用户编辑/删除帖子并批准评论。因此,我们使用asp.net MVC3 razor: display actionlink based on user role - “.If(User.IsInRole(”Administrators“))”中显示的解决方案添加了仅供管理用途呈现的按钮。
然后,我们将[OutputCache(Duration = 30)]添加到该Action,发现任何人都会看到Admin版本或plainer - 取决于在缓存超时后碰巧是第一个请求页面的人。咄...
答案 0 :(得分:1)
我们最终选择了“3.创建单独的管理操作/页面”选项。
这使我们可以选择为管理创建单独的网站/子域并简化缓存结构 - 我们可能不会在管理页面上进行任何缓存。
答案 1 :(得分:0)
这可能只是您的问题编辑的部分答案:
AFAIK,你只能创建同一个动作方法的2个重载:其中一个必须是HttpPost,另一个必须是HttpGet,它们(当然)必须有不同的参数才能编译。