CcTray v1.6 si disconnette continuamente e si riconnette al server v1.4.4 durante il polling
-
28-10-2019 - |
Domanda
Sfondo: Sto studiando la compatibilità con le versioni CCNET con le versioni 1.4.4.75 e 1.6.7981.1: un server più vecchio con una versione più recente di CCTray e un server più recente con una versione precedente di CCTray.
Ho installato CCNET 1.4.4.75 e lo sto eseguendo localmente sulla mia macchina. Ho messo un progetto su questo server locale e posso visualizzarlo su CCTRAY 1.4.4.75 come mi aspettavo.
Ho quindi installato CCTRAY 1.6.7981.1 e ho provato a elencare questo progetto aggiungendo il server (spuntando "Connettiti al server pre-1.5.0" quando lo facciamo). Il progetto è elencato e viene aggiunto con successo alla schermata CCTray principale, ma sembra ogni volta che CCTray sonda il server, si disconnette e si riconnette ad esso, risultando in un'icona cctray grigia molto visibile per i pochi secondi durante il processo di riconnessione.
Non ho questo problema con la versione 1.4.4.75 di cctray, quindi mi chiedevo cosa potesse causare questo comportamento nella versione 1.6? A meno di aggiornare il mio server CCNET a 1.6, come risolvo questo problema?
Ogni aiuto è molto apprezzato.
~ Sam.
Soluzione
Il problema è in CruiseControl.net-1.6.7981.1: $ Project Remote Quesetsnapshot.cs (59) e $ Project Remote Queuesnapshot.cs (71).
Ondeserialized] DateCeived (StreamingContext Context) viene commentato, pertanto non sono disponibili informazioni sulle code del server se il server è pre-1,5.0.
L'eccezione del puntatore null si verifica più avanti in: CruiseserversnapShot.IsqueueSetsnapShotchanged () $ Project Remote CruiseserversnapShot.cs, linea 73
Ho scaricato il codice sorgente, i metodi DateReceived (...) non figurati, compilati e CCTray sembra funzionare bene.
Altri suggerimenti
Ho appena avuto lo stesso problema ma sono riuscito a risolverlo senza modificare il codice sorgente. Quando l'aggiunta di un server build ho selezionato "tramite la dashboard CruiseControl.net" invece di "connettersi direttamente usando la remoto .NET" e il problema di riconnessione è andato.