Sinceramente non capisco...trovo il meccanismo di ParseControl molto comodo e fruibile solo che non mi è chiaro se è possibile implementare un meccanismo di cache o meno. Faccio il mio esempio. Nella pagina in markup non ho niente e in base all' ID di pagina vado a creare dinamicamente una stringa che poi viene parserizzata (la stringa al 98% contiene semplice html), ora se uno fa reload il programma ricalcola tutto proprio perché non è attiva la cache. Se attivo la cache di ASP.NET 2.0 che fa polling verso 1 o più tabelle di database questa funziona con il parse control?
Esempio
Dim codetoparse as string
Select case request.querystring("id")
Case "a"
codetoparse=RetrieveFromDB("IDA") 'Restituisce del semplice HTML tipo "<p>123</p>" prendendolo dalla tabella "A"
Dim dependency as SqlCacheDependency = new SqlCacheDependency("dbcache", "A")
Response.AddCacheDependency(dependency)
Case "b"
codetoparse=RetrieveFromDB("IDB") 'Restituisce del semplice HTML tipo "<p>456</p>" prendendolo dalla tabella "B"
Dim dependency as SqlCacheDependency = new SqlCacheDependency("dbcache", "B")
Response.AddCacheDependency(dependency)
Case "c"
codetoparse=RetrieveFromDB("IDC") 'Restituisce del semplice HTML tipo "<p>789</p>" prendendolo dalla tabella "C"
Dim dependency as SqlCacheDependency = new SqlCacheDependency("dbcache", "C")
Response.AddCacheDependency(dependency)
End Select
Dim c As Control = Me.ParseControl(codetoparse)
Form.Controls.Add(c)
Ovviamente non sto usando cache nativo del parse control (che non c'é) ma quello standard...il codice sopra esposto va e quindi la seconda volta che si chiede la pagina con ID=A non richiede più l' info nel DB oppure non va e continua a chiedere info al DB?