Ciao a tutti ragazzi...sono nuovo del forum, anche se da molto tempo lo consulto. Vi pongo un quesito al quale non riesco a dare soluzione. Prima però vi spiego cosa deve fare il programma che sto scrivendo:
Il mio programma deve principalmente cercare, nelle cartelle di rete del mio fileserver (sistema in clustering) determinate tipologie di file, per effettuare controlli sullo stato di occupazione dello storage ma soprattutto (motivo per il quale ho iniziato a scriverlo) deve cercare all'interno delle cartelle di rete dei fastidiosissimi file senza estensione che si formano ogni volta che un utente salva un file in rete, che hanno la stessa dimensione di quello originale e che occupano tantissimo spazio inutile (si genera un file ad ogni salvataggio). Questo programma quindi deve trovare questi file e cancellarli. Ora, il codice che ho scritto funziona benissimo, solo che quando lo faccio cercare in cartelle dove gli elementi subordinati (cartelle figlio) sono tantissime, il programma dopo 60 secondi mi va in timeout e restituisce questo errore:
"Impossibile eseguire la transizione dal contesto COM 0x12f2500 al contesto COM 0x12f2750 per 60 secondi. Probabilmente il thread a cui appartiene il contesto/apartment di destinazione è impegnato nell'attesa senza distribuzione o nell'elaborazione di un'operazione a esecuzione prolungata che non prevede la distribuzione di messaggi Windows. Questa situazione in genere ha un impatto negativo sulle prestazioni e può causare una mancata risposta dall'applicazione o un accumulo continuato nel tempo dell'utilizzo della memoria. Per evitare questo problema, è necessario che durante le operazioni a esecuzione prolungata tutti i thread in modalità STA (Single Thread Apartment) utilizzino primitive di attesa con distribuzione (ad esempio CoWaitForMultipleHandles) e messaggi distribuiti in base a routine."
A questo punto mi chiedo cosa posso fare, se aumentare il tempo di timeout (che oltretutto non so come si fa) o...boh, non saprei....
Ecco il codice (purtroppo non mi formatta bene il codice quindi dovrò allegare un txt):
www.box32.it/codice.txt
Copiatelo e incollatelo in una nuova scheda...non capisco perchè il link non funzioni... O_o
Grazie in anticipo per l'aiuto......![]()