Debug di un file .cs inserito nella cartella AppCode

venerdì 15 febbraio 2008 - 13.02

Giovanni_3478 Profilo | Senior Member

Ciao

[VisualStudio2008 C#]

Ciao

Ho scritto del codice in un file .cs e
l'ho inserito nella cartella appcode.

Vorrei fare il debug in alcuni punti del codice
ma non capisco perchè
solo in quel file in fase di debug il compilatore non si fermi sui punti rossi.

Il codice è il seguente:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

A colpo d'occhio vi accorgete di qualche errore?


aiedail92 Profilo | Expert

Ciao

posso farti una domanda: il codice è solo quello?

Perchè se è solo così l'unico punto che si verifica è dove c'è il costruttore, e dato che questo non chiama nessun altro metodo o oggetto che possa chiamare qualcos'altro, ad esempio con un evento, il resto del codice non può mai verificarsi...

Quindi la void onLoad non si verifica mai, il timer tm non viene mai inizializzato e di conseguenza non viene eseguita la void tm_Elapsed.

Luca

Giovanni_3478 Profilo | Senior Member

ciao

Il codice è solo questo, sì.

Anche mettendo il codice nel costruttore in questo modo
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
nel processo di debug
il compilatore non si ferma sul punto rosso.

A te si ferma?

aiedail92 Profilo | Expert

Ciao

Sì, da me durante il debug se metto un breakpoint qui

protected void tm_Elapsed(object sender, System.Timers.ElapsedEventArgs e)

si ferma regolarmente, ogni 60 secondi. Prova a ridurre il tempo di attesa a 1000 millisecondi, così vedi istantaneamente se viene generato l'evento (sarebbe strano il contrario)

Altra cosa: ti consiglio di dichiarare il timer tm a livello globale, così puoi accedere ai suoi metodi anche fuori dal costruttore, nel quale ti limiti ad inizializzarlo e a sottoscrivere l'evento Elapsed.

Luca

Giovanni_3478 Profilo | Senior Member

Non riesco a capire

Ho fatto le modifiche al mio codice che è

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

ma il debug non si ferma sul breakpoint.

Non centra che uso la versione Express credo...

aiedail92 Profilo | Expert

No non credo neanch'io... Però non so.

Prova a verificare se mettendo un brakpoint al costruttore lì il debug si ferma.

A me non ha dato alcun problema....

Luca

Giovanni_3478 Profilo | Senior Member

L'ho messo dappertutto. Non va


aiedail92 Profilo | Expert

Ma da qualche parte hai una riga di codice che inizializza una classe timer (quella che hai creato tu)? Perchè se non viene mai inizializzata un'istanza, il codice non si verifica.

Luca

Giovanni_3478 Profilo | Senior Member

Adesso va.

Non veniva istanziata da nessuna parte la classe
come hai detto tu.

Però per lo scopo che voglio ottenere
mi sa che non sono nella strada giusta.

In pratica io ho bisogno che questo codice
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
venga eseguito sempre nell'applicazione,
anche quando il processo viene buttato giù, quando viene cioè eseguito lo shutdown.

C'è un modo per ottenere questo risultato?

Magari si potrebbe instanziare la prima volta la classe dell'APPCODE
e poi... l'esecuzione della classe dell'APPCODE avviene sempre anche
quando il processo viene buttato giù?

aiedail92 Profilo | Expert

Ma adesso stai parlando di ASP.Net? Perchè se siamo in questo campo non posso più aiutarti...

Forse ti conviene chiudere questo thread ed aprirne uno nuovo, così spieghi meglio la situazione.

Chissà che poi non ti risponda io

Luca

Giovanni_3478 Profilo | Senior Member

ok

Grazie mille per l'aiuto

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5