Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1479 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Problème de Process.Start depuis une page ASPX

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de Process.Start depuis une page ASPX

n°1551364
x1800+
Posté le 30-04-2007 à 10:48:26  profilanswer
 

Bonjour à tous,
 
Je rencontre actuellement un probleme assez embetant sur une page ASP.net toute bête.
 
L'objectif de celle ci, est de lancer une application sur le serveur. Cette application est ensuite chargée de dialoguer avec les pages web de l'appli, via Remoting .NET.
 
Le probleme est donc que lorsque le Process.Start est appelé, le processus est bien présent dans le task manager, mais n'apparait nulle part sur le serveur (le serveur étant mon pc soit dit en passant), et la consommation mémoire est très faible (même pas 1mo).
 
Après avoir effectué quelques tests, j'ai pu me rendre compte que l'executable server.exe marchait partiellement (les threads reseau sont ok, mais les codes du style MessageBox.Show() dans le thread principal ne marchent pas, et aucune form n'apparait).
 
J'ai tenté de me renseigner a droite et à gauche, sans trouver vraiment de reponse (hormis des fix datant de 2004,pour FW 1.0).
 
Bref, si quelqu'un peut m'aider sur ce point la....
 
Voici le code :

Code :
  1. protected void Page_Load(object sender, EventArgs e)
  2.     {
  3.             ProcessStartInfo s = new ProcessStartInfo(@"F:\MonExe.exe", "debug" );
  4.             s.UseShellExecute = true;
  5.             s.ErrorDialog = true;
  6.             s.WindowStyle = ProcessWindowStyle.Normal;
  7.             Process p = Process.Start(s);
  8. }


 
A savoir que j'ai déja essayé différents methodes(avec et sans ShellExecutte, en changeant le workinDirectory, en utilisant les fonctions Impersonate() des WindowsIdentity...)
 
Pour la petite info, tout ce bouzin tourne sous Vista avec IIS7. Sur une autre machine sous XP, y a pas de soucis, ca se lance sans probleme (IIS 5.1).
 
Je suspecte donc le couple IIS7 / Vista d'être ultra sécurisé à ce niveau, mais je ne trouve rien pour regler le soucis...
 
Merci d'avance.


Message édité par x1800+ le 30-04-2007 à 10:53:09
mood
Publicité
Posté le 30-04-2007 à 10:48:26  profilanswer
 

n°1551400
_Mose_
Lonesome coder
Posté le 30-04-2007 à 12:31:16  profilanswer
 

Ton exe, c'est un service Windows non ?
Si oui alors c'est normal.
 
Un service Windows n'est pas exécuté dans la session courante, c'est ce qui fait qu'il restera actif même si tu changes de session.
C'est pour ça que dedans il ne peut pas y avoir d'interface utilisateur (MessageBox.Show()) et qu'il n'apparaît pas dans les processus de la session...

n°1551625
x1800+
Posté le 30-04-2007 à 19:54:22  profilanswer
 

Il ne s'agit justement pas d'un service windows, mais d'un executable WinForms tout ce qu'il y a de plus basique.
 
De plus, meme si je met en executable cmd.exe ou notepad.exe, ca me fait pareil.
 
J'ai regardé aussi du coté de l'UAC de Vista, normalement c'est bon de ce côté aussi...Donc j'avoue que je sèche pas mal...

n°1551652
moi23372
Posté le 30-04-2007 à 20:50:24  profilanswer
 

comme je le prédisais, vista c'est vraiment de la merde en boite.  
 
Petite question? tu n'es pas un peu félé de développer pour Vista pour le moment? J'ai vraiment l'impression que son utilisation n'est pas du tout adapté à cela et que bonjour pour régler la sécurité facilement. La preuve avec ton problème. :(

n°1551655
x1800+
Posté le 30-04-2007 à 20:53:36  profilanswer
 

Je dois être un peu félé oé...
 
Comme tu dis, pour régler la sécurité, c'est pas super simple, mais je vais continuer de chercher encore un peu.
A force de vouloir trop sécuriser...Ca em**** ceux qui codent. Mais bon, doit bien y avoir une solution...
 
Si vraiment je trouve rien, alors je repasserais a un "ancien" windows...
 
Et pour répondre a Mose : C'est bel et bien un executable tout ce qu'il y a de plus normal, et non un service :)

n°1683988
madebyhist​o
Vulnera Omes, Ultima Neça
Posté le 08-02-2008 à 14:54:01  profilanswer
 

Ah tu trouvé une solution à ton problème ?
 
Je suis sur xp pro et je suis bloqué comme toi.
Si tu as eu une piste merci de me la communiquer svp.

n°1684216
moi23372
Posté le 08-02-2008 à 20:14:29  profilanswer
 

Juste une petite piste.  
Les pages Web ASPX tourne en général avec un user windows particulié. "ASPNET" ou "NETWORK SERVICES". Peux-être que le problème vient simplement que ce user n'a pas les droits suffisant pour exécuter le fichier?
 
A essayer.  
Personnellement, je trouve cela bizzare qu'on puisse lancer une winforms à partir d'une page Web. Un service Windows est beaucoup plus adapté à cela, ou un Web Services.

n°1684537
x1800+
Posté le 10-02-2008 à 11:06:02  profilanswer
 

Non, malheureusement j'avais pas de solution miracle (a part revenir sous xp dans mon cas)  [:petrus75]
 

Citation :

Les pages Web ASPX tourne en général avec un user windows particulié. "ASPNET" ou "NETWORK SERVICES". Peux-être que le problème vient simplement que ce user n'a pas les droits suffisant pour exécuter le fichier?


 
Dans le cas que j'avais, l'executable se lancait, mais le probleme se situait au niveau de l'affichage des forms, messageBox etc.
Probablement parceque un executable lancé depuis un user ASPNET ou NETWORK SERVICE n'a pas le droit d'afficher des forms (ou comme disait Mose pour les services, ne s'execute pas dans la session user courante)
 
 

Citation :

Personnellement, je trouve cela bizzare qu'on puisse lancer une winforms à partir d'une page Web. Un service Windows est beaucoup plus adapté à cela, ou un Web Services.


 
Je suis tout a fait d'accord avec toi. J'étais complétement taré de vouloir faire ça a l'époque  :o
Pour ca d'ailleurs que j'ai abandonné cette idée pour faire un systeme totalement différent (un service windows qui est chargé de lancer l'executable qui n'est plus qu'une console que j'ai pas besoin de voir tout le temps :) )
 
 
Dans tout les cas, lancer une application winform sur un serveur...Ca a pas énormément d'interet  [:petrus75]


Message édité par x1800+ le 10-02-2008 à 11:06:40
n°1806744
hbaradi
Posté le 31-10-2008 à 08:51:40  profilanswer
 

Bonjour,
 
Est ce que vous avez trouvé une solution pour ce problème ?  
 
Je suis dans la même situation, à la différence que mon exécutable est à la base une appli Win32 (c++), mais que dans les arguments je précise qu'elle doit s'exécuter en mode silencieux, donc pas de fenêtres. et malgré ça le processus reste bloqué.
 
Quand j'essaye le même code avec une application console, cela marche super.
 
Est ce que avez idée de la sourec du problème ou comment le contourner ?
 
Merci

n°1806907
x1800+
Posté le 31-10-2008 à 13:21:41  profilanswer
 

Bonjour,
 
Malheureusement je n'avais trouvé aucune solution. Je penses que ça viens simplement des règles de sécurité qui bloque le lancement des appli depuis un compte donné (ASP.NET ou NETWORKSERVICE peut-être).
 
Donc comme indiqué dans mon dernier message, la seule solution que j'avais trouvé était de faire passer tout ça par un service windows :s

mood
Publicité
Posté le 31-10-2008 à 13:21:41  profilanswer
 

n°1806933
moi23372
Posté le 31-10-2008 à 13:57:10  profilanswer
 

ou de changer le compte utilisateur faisant tourner le process ASPX


---------------
quand un homme raisonne mal c'est qu'il n'a pas les données pour raisonner mieux (diderot)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Problème de Process.Start depuis une page ASPX

 

Sujets relatifs
[resolu] probleme pour rentrer dans un ifProbleme de signature en html
problème de décimaleproblème avec formulaire et code javascript
Noob détected ! ouvrir un lien dans la meme pageProblème avec l'encodage UTF-8 [de l'aide svp]
Probleme de mise en ligne apres upload des htmlProbleme avec un JavaScript de Popup
Problème d'interrogation de deux tables d'une bdd bibliographie[java] "petit" problème à l'exécution
Plus de sujets relatifs à : Problème de Process.Start depuis une page ASPX


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR