Il mio problema è il seguente:
qua sotto sta il codice del file global.asax.vb
Cosa fa il listato?In poche parole nelle mie intenzioni dovrebbe inserire un item nella cache,e a ogni scadere dell'item stesso(gestito dal delegato CacheItemRemovedCallback) reinserirlo ancora in cache.codice:Imports System.Web Imports System.Web.SessionState Public Class Global Inherits System.Web.HttpApplication Const DummyCacheItemKey As String = "GagaGuguGigi" Private Function RegisterCacheEntry() As Boolean If HttpContext.Current.Cache(DummyCacheItemKey) <> Nothing Then Return False Else HttpContext.Current.Cache.Add(DummyCacheItemKey, "Test", Nothing, DateTime.Now.AddMinutes(1), TimeSpan.Zero, Caching.CacheItemPriority.NotRemovable, AddressOf CacheItemRemovedCallback) Return True End If End Function Public Sub CacheItemRemovedCallback(ByVal key As String, ByVal value As Object, ByVal reason As Caching.CacheItemRemovedReason) If reason = Caching.CacheItemRemovedReason.Expired Then Dim client As New WebClient client.Credentials = CredentialCache.DefaultCredentials client.DownloadData(Server.MapPath("prova.aspx")) Server.Execute(Server.MapPath("public\Newsletter\Controllamail.asp")) End If End Sub Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs) ' Generato all'avvio dell'applicazione RegisterCacheEntry() End Sub Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs) ' Generato all'inizio di ogni richiesta If HttpContext.Current.Request.Url.ToString() = Server.MapPath("prova.aspx") Then RegisterCacheEntry() End If End Sub
Sempre all'interno della procedura CacheItemRemovedCallback,siccome mi hanno detto che non c'è nessun httpcontext,lo creo impostando una richiesta a una pagina vuota("prova.aspx")così da scatenare l'evento Application_BeginRequest e mettere in questo appunto il codice per far reinserire l'item...
Senonchè i miei problemi arrivano alla riga di codice server.execute(ecc.):essa serve a lanciare una pagina asp,che è quello che mi serve veramente(che l'tem mi lanci periodicamente questa pagina,intendo):ma questa pagina,che in ogni caso per adesso è di prova,scrive un file di testo.Se venisse lanciata,dopo un minuto dovrei vedere il file comparire,eppure non succede proprio nulla.(Forse che anche Server.execute necessita di un httpcontext?la sparo lì...)
![]()
Aiuto!Cosa devo fare?
Grazie

Rispondi quotando