Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Cache & cash...

  1. #1

    Cache & cash...

    Il mio problema è il seguente:
    qua sotto sta il codice del file global.asax.vb
    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
    
    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.
    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

  2. #2
    ragazzi perché non mi rispondete? sono troppo poco gentile nel chiedere?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.