2012-07-12 12 views
5

Ho un programma C# che si connette a un server IMAP e download di messaggi di posta elettronica. Questo programma è threaded e funziona molto velocemente su un computer e molto lento su un altro. Quello lento agisce come il primo thread sta bloccando e il resto sta aspettando. I completamenti saltano in gruppi di 5 streghe è quanti fili ci sono. Quello veloce passa attraverso 125 messaggi in circa 20 secondi.Threading con connessione di rete lenta su alcuni computer e veloce su altri

sono entrambi - Sempre sulla stessa sottorete - Collegamento allo stesso server - L'esecuzione del medesimo codice - hardware portatile Stessa cosa con lo stesso sistema operativo - Windows 7 (Service Pack 1) a 64 bit -. NET 3.5 - Compilato con VS 2010 Express

Qualsiasi idea sarebbe molto apprezzata Ho battuto la mia testa contro questo tutto il giorno.

+2

Senza sapere di più sulla tecnologia che si utilizza per connettersi al server, magari provare a confronto le impostazioni del proxy di Internet Explorer su ciascuno. Ho scoperto che la disattivazione del rilevamento proxy a volte può velocizzare alcuni tipi di operazioni di rete, ma ciò dipende dalle API che si stanno utilizzando. So che la tua domanda non ha nulla a che fare con Internet Explorer, ma le impostazioni del proxy IE sono utilizzate da molte app e librerie. –

+0

Sto utilizzando System.Net.Sockets per connettersi a un server Exchange. Grazie per il suggerimento controllerò le impostazioni del proxy IE. – josh

+3

Altre cose a cui pensare: 1 macchina ha un antivirus e l'altra no? Entrambi hanno la stessa scheda Ethernet? Ho avuto una macchina in esecuzione molto lentamente perché l'interfaccia ethernet non era configurata per la comunicazione full duplex, ad esempio. – dash

risposta

0

Controllare se il comando ping dos sta impiegando troppo tempo sulla macchina "lento". Sembra per me un problema di connettività di Lan.

0

Prova a verificare la velocità della connessione di rete inserendo un file di grandi dimensioni, ad esempio circa centinaia di megabyte sul server imap.

quindi provare a scaricarlo sia con il browser (avrei consigliato qualcosa accanto a IE), sia con il trasferimento file standard di Windows (SMB/CIFS). Provalo una macchina alla volta. E assicurati che la rete non sia occupata mentre la stai testando.

Spero che questo aiuti. :)

0

Se si sta eseguendo il programma in modalità di debug su entrambi i computer, quindi compilarlo e utilizzare il file .exe della versione o eseguire il programma in modalità non debug. Funzionerà come deve.

Problemi correlati