Come inviare un intero oggetto HttpContext.Current.Response cache al cliente

voti
0

Io in realtà non lo uso ASP.Net pagine logica, io uso i costruttori di stringa e inviare un Response.Write finale al cliente. Come un gestore, se si desidera.

Dim sb As New StringBuilder
sb.Append(<html><body>)
sb.Append(Hello World)
sb.Append(</body></html>)
HttpContext.Current.Response.ContentType = text/html; charset=utf-8
HttpContext.Current.Response.ContentEncoding = Encoding.UTF8
HttpContext.Current.Response.Write(html)

Io uso anche la logica di cache personalizzata. Per ora ho appena Stock tutta HTML come una stringa nella cache, quindi ho solo avere qualcosa di simile:

Page_Load

If mycache Then
  HttpContext.Current.Response.Write(mycache)
Else
 Dim sb As New StringBuilder
 sb.Append(<html><body>)
 sb.Append(Hello World)
 sb.Append(</body></html>)
 Dim html As String = sb.ToString
 HttpContext.Current.Response.ContentType = text/html; charset=utf-8
 HttpContext.Current.Response.ContentEncoding = Encoding.UTF8
 HttpContext.Current.Response.Write(html)
 cache.Insert(mycache, html)
End If

End Page_Load

Ma voglio usare httpcompression ora. E le grandi opere utilizzando Response.Filter e il metodo utilizzato qui http://www.west-wind.com/weblog/posts/2007/Jun/29/HttpWebRequest-and-GZip-Http-Responses

Ma in questo scenario devo gzip pagina ogni volta per il cliente, perché la mia cache è una semplice stringa HTML per ora.

Quello che mi piacerebbe fare ora è quello di memorizzare l'oggetto HttpContext.Current.Response intera (formato gzip) nella cache non gzip che ad ogni richiesta. Come allora posso servire direttamente al cliente?

If mycache Then
  'Code to serve the stored gziped Response to the client
Else
 'bla bla
End If

?

È pubblicato 21/01/2012 alle 20:02
fonte dall'utente
In altre lingue...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more