Bon là je sèche....
Bonjour d'abord !
Avant d'expliquer je tiens à dire que j'ai déjà réussi à faire marcher mon truc, mais depuis que je suis passé avec IIS (avant c'était cassini) ça marche plus.
J'essaye de lancer depuis un web service une commande qui s'execute dans le shell. J'ai déjà compris que l'exe se lance sur le serveur et que donc il n'y pas d'interface graphique qui se lance.
Donc j'ai tester en lancant notepad.exe, et ça le lance, je le vois pas, mais je le vois dans les processus... donc ok !
Par contre, ce que je souhaite lancer c'est un scan d'un fichier avec SpamAssassin qui ensuite crée un rapport txt. le lancement peut se faire comme ceci :
$> spamassassin.exe < monEmail.htm > rapportdemonEmail.htm.txt
bon vu que pour les passages d'arguments il n'aimait pas les input output < et >, pour j'avoue me faciliter la vie, j'utilise un .bat, comme ça je lui passe juste le nom du fichier et le .bat se débrouille pour construire correctement la ligne.
Mais bon à la limite, pour faire des tests et limiter les possibilités d'erreurs, on peut lancer une autre commande qui permet de vérifier la config de spamassassin :
spamassassin.exe --lint -D
voilà ce que j'utilise comme code :
1 2 3 4 5 6 7 8 9 10
|
string arguments = "--lint D";
ProcessStartInfo SAProcessStart = new ProcessStartInfo("spamassassin.exe");
SAProcessStart.Arguments = arguments;
SAProcessStart.WorkingDirectory = @"C:\SpamAssassin\";
Process SAProcess = new Process();
SAProcess = Process.Start(SAProcessStart);
SAProcess.WaitForExit(); |
quand je test, je vois dans les processus que spamassassin se lance, mais se ferme de suite alors que, je précise, cette commande est censé prendre 3-4 secondes.
Donc le SAProcess.WaitForExit(); n'agit pas...
une idée ? car là tout mon programme est bloqué !
merci
Partager