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 :

Erreur aléatoire sur File.delete


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 207
    Points : 85
    Points
    85
    Par défaut Erreur aléatoire sur File.delete
    Bonjour,

    Ayant un peu progresser en .NET je me trouve de nouveau confronté à un problème que je ne comprend pas

    J'ai fait une page aspx permettant de supprimer un fichier et un dossier le contenant à l'aide d'une chaine (une url) passé en querystring

    Voici le code

    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
     
       Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            If Not IsPostBack Then
     
            'Recuperation des variable d'url
            Dim URL As String = Request.QueryString("URL")
     
            'init des variables pour suppression du fichier et du dossier
            Dim fichier As String = Mid$(URL, 71, Len(URL))
            Dim dossier As String = Mid$(URL, 52, 18)
            Dim cheminFichier As String = "D:\Argos\upload2\files\" + dossier + "\" + fichier
            Dim cheminDossier As String = "D:\Argos\upload2\files\" + dossier
     
            'Suppresion du fichier et du dossier dans \upload2\files
            System.IO.File.Delete(cheminFichier)
            System.IO.Directory.Delete(cheminDossier)
     
           End if
    End Sub
    Le problème :
    Parfois, pour un même nom de fichier, j'ai une erreur :
    Could not find a part of the path 'D:\Argos\upload2\files\nomfichier.ext'
    sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.IO.File.Delete(cheminFichier)
    et parfois je n'ai aucune erreur

    Mais dans tous les cas, même avec le message d'erreur, le fichier et le dossier sont bien supprimés

    Avez vous une idée ?
    J'ai essayé de mettre des temps d'attente entre chaque étape. mais c'est la même chose. Il indique parfois qu'il ne trouve pas une partie du chemin mais pourtant il a quand même reussit à supprimer le fichier

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Points : 1 502
    Points
    1 502
    Par défaut
    Essaie de vérifier l'existance du fichier/dossier avant de le supprimer

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 207
    Points : 85
    Points
    85
    Par défaut
    J'ai fait ce que tu m'as dit et pour le moment ça à l'air de fonctionner.
    A suivre car c'est aléatoire...

    Merci

    Mais je ne vois pas pourquoi car le fichier existe toujours dans tous les cas avant d'etre supprimé

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Points : 1 502
    Points
    1 502
    Par défaut
    Voir également si tu ne passes pas 2 fois dans le page_load, pour un seul chargement "visible".

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 207
    Points : 85
    Points
    85
    Par défaut
    comment je peux voir ça ?
    Avec une alert javascript lancé dans le code-behind ?

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Points : 1 502
    Points
    1 502
    Par défaut
    dans le pageLoad, tu ajoute fais un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    int monCompteur = 0;
    if(ViewState["monCompteur"]!= null)
    {
      Decimal.TryParse(ViewState["monCompteur"].toString(), out monCompteur);
    }
    monCompteur ++;
    ViewState["monCompteur"] = monCompteur;
    //puis faire un alert de monCompteur ou l'afficher dans un label...

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

Discussions similaires

  1. [Vxi3] Erreur aléatoire sur LOV
    Par NorocBzh dans le forum Webi
    Réponses: 2
    Dernier message: 23/12/2011, 09h12
  2. Erreurs aléatoires sur graphique à bulles
    Par RGShoop dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/06/2008, 17h29
  3. Erreur aléatoire sur une fonction
    Par defluc dans le forum Firebird
    Réponses: 8
    Dernier message: 10/09/2007, 17h34
  4. Erreur aléatoire sur l'écriture d'un fichier
    Par Jorael dans le forum Delphi
    Réponses: 23
    Dernier message: 12/02/2007, 11h35
  5. Réponses: 7
    Dernier message: 23/05/2006, 12h32

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