Allen,
Ik heb een Nagios monitoring server staan welke de status.dat (file met monitoring resultaten) met php omzet naar een XML. Nu probeer ik deze XML met vb.net te downloaden om hem vervolgens te parsen en weer te geven aangezien de Nagios web pagina niet echt handig is (toont teveel info in een suboptimale opmaak)
Het downloaden gaat prima alleen na een aantal keer stopt hij er mee...
Relevante code
En om het downloaden te starten:
Maar na een keer of 4 downloaden stopt hij ermee en kreeg ik na een tijdje een foutmelding met:
The process cannot access the file %tempdirectory%/status.xml because it is being used by another process
%tempdirectory% verwijst naar de systeem temp dir.
Nu snap ik alleen niet waar deze melding vandaan komt want ik verwijder het bestand van te voren en ik probeer het pas uit te lezen als het downloaden klaar is.
Hebben jullie een richting voor me om te zoeken?
Ik heb een Nagios monitoring server staan welke de status.dat (file met monitoring resultaten) met php omzet naar een XML. Nu probeer ik deze XML met vb.net te downloaden om hem vervolgens te parsen en weer te geven aangezien de Nagios web pagina niet echt handig is (toont teveel info in een suboptimale opmaak)
Het downloaden gaat prima alleen na een aantal keer stopt hij er mee...
Relevante code
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| Private Sub downloader_DownloadCompleted() Handles downloader.Completed
'Download is complete so we hide the status panel
pnlDownloadStatus.Visible = False
processStatus("status")
'Start the timer for update and start the countdown timer to let the user know when a new file will be downloaded
ssProgramTime.Text = LocRM.GetString("StatusFileLoaded")
getStatusTimer.Interval = updateInterval * 1000
getStatusTimer.Start()
genericTimer.Start()
ssCountdown.Text = LocRM.GetString("ssCountdown") & " " & countdownUpdateInterval
countdownUpdateInterval = updateInterval
'enable the download last status option
mmDownload.Enabled = True
mmCancelDownload.Enabled = False
End Sub |
En om het downloaden te starten:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| 'disable the download last status option
mmDownload.Enabled = False
mmCancelDownload.Enabled = True
'Stop the timers to prevent multiple downloads
getStatusTimer.Stop()
genericTimer.Stop()
'Popup the download panel to show the status
pnlDownloadStatus.Visible = True
pnlDownloadStatus.BringToFront()
'Download status file
With downloader
.Files.Clear()
.LocalDirectory = localStatusDir
.Files.Add(New FileDownloader.FileInfo(serverAddress & "/" & statusFileName))
.Start()
End With |
Maar na een keer of 4 downloaden stopt hij ermee en kreeg ik na een tijdje een foutmelding met:
The process cannot access the file %tempdirectory%/status.xml because it is being used by another process
%tempdirectory% verwijst naar de systeem temp dir.
Nu snap ik alleen niet waar deze melding vandaan komt want ik verwijder het bestand van te voren en ik probeer het pas uit te lezen als het downloaden klaar is.
Hebben jullie een richting voor me om te zoeken?
You definitely rate about a 9.0 on my weird-shit-o-meter
Chuck Norris doesn't dial the wrong number. You answer the wrong phone.