Asp.net 将服务器控件存储在缓存中是否可能/坏主意?
创建一个控件是不是一个坏主意,即:HtmlGenericControl,然后将其添加到 Page.Cache,然后在 OnInit() 上检索它并将其添加到页面控件集合中?
还是使用 ParseControl 更好?
Asp.net 将服务器控件存储在缓存中是否可能/坏主意?
创建一个控件是不是一个坏主意,即:HtmlGenericControl,然后将其添加到 Page.Cache,然后在 OnInit() 上检索它并将其添加到页面控件集合中?
还是使用 ParseControl 更好?
这是相当危险的。每次调用页面时,您都会获得它的一个实例。此实例将包含设计器放入的所有控件的实例。如果将控件的实例存储在缓存中,则可能会遇到一个页面的多个实例将共享该控件的实例的情况。您需要小心进入此控制数据部分的内容,因为它也将被共享
由于控件特定于页面(例如具有页面属性),因此您不能将其存储在缓存中并在多个页面之间共享。也许您可能会改为查看片段缓存。