Salve,
so che è un argomento già trattato diverse volte, ma leggendo gli altri thread non sono risucito a venirne a capo.
In questa classe presa da Aspitalia per effettuare le operazioni pianificate tramite asp.net ho messo una classe creata da me:
codice:
using System;
using System.Timers;
using System.Web;
using MyStats;

public class MyGlobal:HttpApplication
{

    private Timer OpTimer;
	//orario stabilito della prima operazione
	//e per le successive (calcolato automaticamente)
    public static DateTime When;
	
	//riesegui ogni n ore
    public static byte Every;
	

public MyGlobal():base()
{
	//orario stabilito della prima operazione
	//non indicare la data in previsione di futuri riavvi di iis
	When=DateTime.Parse("22:53");
	//riesegui ogni n ore
	Every=24;
	StartTimer();
}

public void OnTimedEvent(object source, ElapsedEventArgs e) 
{

	//Richiamo classe da me creata
	try
	{
	Stats hit=new Stats();
	hit.Analyze();
	Application["debug"]="ok";
	}
	catch (System.Exception ex){
	
	Application["debug"]=ex;
	}
	//riimposto il timer per portarlo avanti di n ore
	When=When.AddHours(Every);

	//riprendo l'intervallo cos prendo in considerazione il tempo di elaborazione passato
	//con il tempo potrebbe sballare
	OpTimer.Interval=GetInterval();
	OpTimer.Start();

}

private double GetInterval()
{

	TimeSpan diff=When.Subtract(DateTime.Now);
	
    //risultato in millisecondi
	return diff.Ticks / 10000;
}

private void StartTimer()
{
//se l'ora in cui deve partire è più piccola di oggi (visto che la parserizza con la data odierna)
//lo portiamo alla prossima esecuzione
if (When<DateTime.Now) {
    //aumento la data dell'operazione dell'intervallo dato
    //fino a quando è maggiorne dell'ora odierna
    while (When<=DateTime.Now){
        When=When.AddHours(Every);
    }
}

	OpTimer=new Timer(GetInterval());

	OpTimer.AutoReset=false;
	OpTimer.Elapsed+=new ElapsedEventHandler(OnTimedEvent);
	OpTimer.Enabled=true;
	
}


}
Però se controllo la variabile Application["debug"] dopo l'esecuzione pianificata ottengo l'errore

System.NullReferenceException: Riferimento a un oggetto non impostato su un'istanza di oggetto. at MyStats.Stats.Analyze() at MyGlobal.OnTimedEvent(Object source, ElapsedEventArgs e)

Io lavoro prevalentemente in vb.net e non utilizzo VS.net.
Mi sapete dire come devo istanziare la chiamata alla classe da me creata?
Grazie