IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Problème avec System.Diagnostics.Process.Start();


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2009
    Messages : 81
    Par défaut Problème avec System.Diagnostics.Process.Start();
    Bonjour à tous!

    J'ai un gros problème, je fait une application en ASP.NET et j'utilise un System.Diagnostics.Process.Start(lienDuFichierSurLeServeur) pour pouvoir ouvrir un fichier de n'importe quel type.
    Cela fonctionne très bien en local mais par contre ça ne fonctionne pas quand je le teste sur le serveur de l'entreprise.

    J'ai fait des recherches et je pense que c'est dû au droits de l'application ASP.NET.
    Voilà ce que j'ai trouvé, c'est sensé donner les droits de l'utilisateur connecté à l'application (si j'ai bien compris) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <identity impersonate="true" />
    Ceci est à mettre dans le fichier web.config (ref http://msdn.microsoft.com/en-us/libr...8VS.71%29.aspx)

    Quand je test cette configuration en local, tout fonctionne normalement.
    Mais si je le mets sur le serveur j'obtiens cette erreur à l'ajout d'un fichier :
    Logon failure: unknown user name or bad password.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.IO.IOException: Logon failure: unknown user name or bad password.


    Source Error:

    Line 805: {
    Line 806: //si il n'existe pas, on le copie dans son emplacement.
    Line 807: FileUpload1.PostedFile.SaveAs((string)ViewState["emplacement"] + "//" + fileName);
    Line 808:
    Line 809:
    des idées?
    Merci d'avance!


    PS : j'arrive à ajouter et supprimer les fichiers qui sont sur le serveur avec asp.net. Le problème est uniquement des les ouvrir avec System.Diagnostics.Process.

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 492
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 492
    Par défaut
    Je vous conseil vivement de ne pas faire de "System.Diagnostics.Process.Start(lienDuFichierSurLeServeur)", c'est extrêmement dangereux et je ne vois pas d'utiliser autre que faire un trou de sécurité.

    C'est "System.Diagnostics.Process.Start" ou "FileUpload1.PostedFile.SaveAs" qui pose problème ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2009
    Messages : 81
    Par défaut
    Salut bacelar!
    Merci de ton aide .
    Mon problème est uniquement du au Process.Start().

    J'ai lu qu'enfait le "Process.Start" ne fonctionne pas chez le client mais uniquement sur le server et en local parce qu'en local je suis client et serveur.

    J'ai opter pour un système de "téléchargement" voici mon code jusqu'à maintenant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
            try
                {
                    string filename = bouton.CommandName;
     
     
                        string path = bouton.CommandArgument;
     
                        System.IO.FileInfo file = new System.IO.FileInfo(path + "\\"+filename);
     
     
                            Response.Clear();
     
                            Response.AddHeader("Content-Disposition", "attachment; filename=" + '"'+file.Name+'"');
     
                            Response.AddHeader("Content-Length", file.Length.ToString());
     
                            Response.ContentType = "application/octet-stream";
                            Response.WriteFile(file.FullName);
     
    // Response.End() me génère une erreur.
                            Response.End(); 
     
     
     
     
                }
                catch (Exception exception)
                {
     
                    return;
                }
    Tout à l'air de fonctionner normalement (en tout cas en local) le seul problème est que "Response.End()" me génère une erreur, mais sans Response.End() cela fonctionne aussi O_o sans générer d'erreur.

    Voici l'exception générer par Response.End() :

    Impossible d'évaluer l'expression, car le code est optimisé ou un frame natif se trouve en haut de la pile des appels
    Est-il indispensable?

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 492
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 492
    Par défaut
    Je comprends de moins en moins, vous downloadez le code vers le client (le browser) ou vous uploadez le code vers le serveur Web (IIS) ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2009
    Messages : 81
    Par défaut
    Le client télécharger les fichiers qui sont sur le serveur.

    Le fileupload était une fonctionnalité qui plantait à cause du <identity impersonate="true" />

    Mais j'ai laissé tombé cette configuration donc pas de soucis pour le fileupload.

    Maintenant je me base sur le téléchargement.

    Merci de ton intérêt.

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 492
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 492
    Par défaut
    STOP.

    C'est quoi le problème initial ?
    On verra la solution après.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème Utilisation System.Diagnostics.Process.Start
    Par arngrimur dans le forum ASP.NET
    Réponses: 14
    Dernier message: 02/11/2011, 16h51
  2. System.Diagnostics.Process.Start probleme d'Authentification
    Par ecureuilmasque dans le forum VB.NET
    Réponses: 0
    Dernier message: 04/06/2010, 15h21
  3. Problème avec System.Diagnostics
    Par Rserge dans le forum Langage
    Réponses: 2
    Dernier message: 02/03/2010, 17h56
  4. Réponses: 0
    Dernier message: 12/01/2010, 10h51
  5. problème avec GET DIAGNOSTICS
    Par hpghost dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 07/07/2004, 11h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo