如果多次使用 FindControl() 结果,是否需要缓存它?
FindControl()
工作速度快吗?
如果我多次搜索并使用相同的控件,是否可以使用这样的属性来缓存结果?
private MyUserControl c;
private MyUserControl MyC
{
get
{
if(c == null)
c = (MyUserControl)FindControl("c");
return c;
}
}
Does FindControl()
work quick or not?
Have I to cache a result using a property like this or not if I search and use the same control a number of time?
private MyUserControl c;
private MyUserControl MyC
{
get
{
if(c == null)
c = (MyUserControl)FindControl("c");
return c;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您正在谈论请求,那就不要这样做。事实上你不能。控制引用仅在页面渲染时暂时存在将它们放入会话或其他持久缓存中让它们持续存在并搞砸垃圾收集器
If you're talking across requests then don't. You can't in fact. Control references only exist temporarily while the page is rende Putting them in session or some other persistent cache let's them persist and screws up the garbage collector
每个关于“快吗”的问题都应该得到回答:尝试一下。
FindControl(我认为)循环通过所有控件,因此速度取决于控件的数量。我认为你不应该担心。
every question with 'is it quick' should be answered: try it out.
FindControl (i think) loops trough all the controls therefor the speed is depended on the amount of controls. I think you shouldn't worry.