Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net是否可以将服务器控件存储在缓存中?_Asp.net_Web Controls - Fatal编程技术网

Asp.net是否可以将服务器控件存储在缓存中?

Asp.net是否可以将服务器控件存储在缓存中?,asp.net,web-controls,Asp.net,Web Controls,Asp.net将服务器控件存储在缓存中是否可能/不好 创建控件ie:HtmlGenericControl,然后将其添加到Page.Cache,然后在OnInit()上检索它,并将其添加到pages controls集合,这是一个坏主意吗 还是使用ParseControl更好?这相当危险。每次调用页面时,都会得到一个实例。此实例将包含设计器放入的所有控件的实例。如果将控件实例存储在缓存中,则可能会出现一种情况,即一个页面的多个实例将共享该控件实例。您需要注意进入此控件数据部分的内容,因为它也将被共

Asp.net将服务器控件存储在缓存中是否可能/不好

创建控件ie:HtmlGenericControl,然后将其添加到Page.Cache,然后在OnInit()上检索它,并将其添加到pages controls集合,这是一个坏主意吗


还是使用ParseControl更好?

这相当危险。每次调用页面时,都会得到一个实例。此实例将包含设计器放入的所有控件的实例。如果将控件实例存储在缓存中,则可能会出现一种情况,即一个页面的多个实例将共享该控件实例。您需要注意进入此控件数据部分的内容,因为它也将被共享

,因为控件特定于某个页面(例如,具有页面属性),所以您不能将其存储在缓存中并在多个页面之间共享。也许你可以改为看看。

我将永远支持同一页