J'essaie d'appeler php-cgi.exe à partir d'un programme .NET. J'utilise RedirectStandardOutput pour obtenir la sortie en tant que flux mais l'ensemble est très lent.Redirige la sortie standard efficacement dans .NET
Avez-vous une idée de comment je peux faire ça plus vite? Toute autre technique?
Dim oCGI As ProcessStartInfo = New ProcessStartInfo()
oCGI.WorkingDirectory = "C:\Program Files\Application\php"
oCGI.FileName = "php-cgi.exe"
oCGI.RedirectStandardOutput = True
oCGI.RedirectStandardInput = True
oCGI.UseShellExecute = False
oCGI.CreateNoWindow = True
Dim oProcess As Process = New Process()
oProcess.StartInfo = oCGI
oProcess.Start()
oProcess.StandardOutput.ReadToEnd()
Vous pourriez être intéressé par [ce poste] (http://www.codeducky.org/process-handling-net), qui couvre la plupart des subtilités de travailler avec des flux de processus .NET. Il recommande la bibliothèque [MedallionShell] (https://github.com/madelson/MedallionShell), qui simplifie énormément ce type de tâche, et peut utiliser async pour empêcher le blocage – ChaseMedallion