【发布时间】:2010-07-02 21:24:00
【问题描述】:
我想知道是否可以在客户端缓存一个 ASP.NET UserControl。
我有一个查询数据库并呈现 GridView 的用户控件。它必须在客户端上,因为查询结果因用户而异(由 User.Identity.Name 决定)。 该页面用于 Intranet。
任何帮助将不胜感激!
提前致谢,
PS:用户控件默认缓存在哪里?服务器,代理?
【问题讨论】:
-
如果启用缓存,默认缓存在服务器内存中。
-
我知道它不在客户端,但将 gridview 数据源添加到会话状态是一个选项?
-
@johnc:您可以将断开连接的 DTO(如 DataTables)添加到会话状态。注意不要添加像 DataReaders 这样的“已连接”对象,否则您可能会保持打开的数据库连接并使连接池过载。
-
是的,做不到。客户端不知道用户控件是什么。只需在用户控件上使用智能部分缓存(varybycustom - user.identity.name)。
-
@RPM1984:是的,谢谢!我就是这么做的!
标签: c# asp.net user-controls