Voila mon problème... dès que je télécharge un fichier par ce bout de
code... si je veux l'éffacer tout de suite après... il dis que les
ressources sont utiliser par un autre processus... j'ai essayer de
mettre des dispose mais rien y fait...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
VANNESTE Xavier
essaie de rajouter un gc.collect pour force le garbage a passer "perceval" a écrit dans le message de news:
Voila mon problème... dès que je télécharge un fichier par ce bout de code... si je veux l'éffacer tout de suite après... il dis que les ressources sont utiliser par un autre processus... j'ai essayer de mettre des dispose mais rien y fait...
Catch ex As Exception ResultMsg.Text = "Un problème est survenu." End Try
Case Else 'pas de fichier média ResultMsg.Text = "Ce fichier n'est pas une photo" End Select
filUpload.Dispose()
End If
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
essaie de rajouter un gc.collect pour force le garbage a passer
"perceval" <perceval_fr@yahoo.fr> a écrit dans le message de
news:mn.bc947d46c1a94d45.10396@yahoo.fr...
Voila mon problème... dès que je télécharge un fichier par ce bout de
code... si je veux l'éffacer tout de suite après... il dis que les
ressources sont utiliser par un autre processus... j'ai essayer de
mettre des dispose mais rien y fait...
essaie de rajouter un gc.collect pour force le garbage a passer "perceval" a écrit dans le message de news:
Voila mon problème... dès que je télécharge un fichier par ce bout de code... si je veux l'éffacer tout de suite après... il dis que les ressources sont utiliser par un autre processus... j'ai essayer de mettre des dispose mais rien y fait...
non désolé ca n'a pas marché toujours le meme problème...
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Frederic Melantois
Bonjour,
Microsoft (et d'autres) recommande de laisser le garbage collector faire son travail. Il se peut que l'on soit obligé d'utiliser le Gc.Collect(n), notamment pour des objets occupant beaucoup de mémoires (énormes Bitmap par exemple), mais en règle général, il n'est pas nécessaire (et recommandé) de le faire.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenetchapt05.asp voir les sections "Garbage Collection Guidelines" et "Garbage Collection Explained"
Je pense que le code d'upload via la méthode filUploadControl.PostedFile.SaveAs n'impacte pas sur l'accès au fichier. Ce qui doit se passer, c'est que vous faîtes afficher votre image via votre navigateur, que le serveur a donc accès au fichier image pour envoyer un flux vers le client. C'est pourquoi lorsque vous voulez supprimer, il vous indique qu'il y a un autre processus dessus.
Généralement, ce que l'on fait, c'est qu'on tente la suppression et si elle échoue, on va stocker en base de données le chemin du fichier. Puis la nuit, on planifie la suppression des fichiers.
Frédéric Mélantois
"VANNESTE Xavier" a écrit dans le message de news:
essaie de rajouter un gc.collect pour force le garbage a passer "perceval" a écrit dans le message de news: > Voila mon problème... dès que je télécharge un fichier par ce bout de > code... si je veux l'éffacer tout de suite après... il dis que les > ressources sont utiliser par un autre processus... j'ai essayer de > mettre des dispose mais rien y fait... > > quelqu'un pourrait regarder ? > > sSavePath = "..medias" & Session("photoCandidate") & "photos" > > > If Not (filUpload.PostedFile Is Nothing) Then > ' Check file size (mustn?t be 0) > Dim myFile As HttpPostedFile = filUpload.PostedFile > > > 'Vérification si le fichier a été uploader > If myFile.ContentLength = 0 Then > ResultMsg.Text = "Aucun fichier sélectionné." > Return > End If > > Dim type As String > > 'Vérification du type de fichier > Select Case myFile.ContentType.ToLower > Case "image/pjpeg", "image/jpeg", "image/gif", > "image/png" > > Dim strFilename As String() > > myFile.FileName.Split("") > Try > > myFile.SaveAs(Server.MapPath(sSavePath) & > strFilename(UBound(strFilename))) > filUpload.Dispose() > > Response.Redirect("photos.aspx") > > Catch ex As Exception > ResultMsg.Text = "Un problème est survenu." > End Try > > Case Else 'pas de fichier média > ResultMsg.Text = "Ce fichier n'est pas une photo" > End Select > > filUpload.Dispose() > > End If > > -- > Ceci est une signature automatique de MesNews. > Site : http://mesnews.no-ip.com >
Bonjour,
Microsoft (et d'autres) recommande de laisser le garbage collector faire son
travail.
Il se peut que l'on soit obligé d'utiliser le Gc.Collect(n), notamment pour
des objets occupant beaucoup de mémoires (énormes Bitmap par exemple), mais
en règle général, il n'est pas nécessaire (et recommandé) de le faire.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenetchapt05.asp
voir les sections "Garbage Collection Guidelines" et "Garbage Collection
Explained"
Je pense que le code d'upload via la méthode
filUploadControl.PostedFile.SaveAs n'impacte pas sur l'accès au fichier.
Ce qui doit se passer, c'est que vous faîtes afficher votre image via votre
navigateur, que le serveur a donc accès au fichier image pour envoyer un
flux vers le client. C'est pourquoi lorsque vous voulez supprimer, il vous
indique qu'il y a un autre processus dessus.
Généralement, ce que l'on fait, c'est qu'on tente la suppression et si elle
échoue, on va stocker en base de données le chemin du fichier. Puis la nuit,
on planifie la suppression des fichiers.
Frédéric Mélantois
"VANNESTE Xavier" <xvanneste@msn.com> a écrit dans le message de
news:uZQTmSVWEHA.1488@TK2MSFTNGP09.phx.gbl...
essaie de rajouter un gc.collect pour force le garbage a passer
"perceval" <perceval_fr@yahoo.fr> a écrit dans le message de
news:mn.bc947d46c1a94d45.10396@yahoo.fr...
> Voila mon problème... dès que je télécharge un fichier par ce bout de
> code... si je veux l'éffacer tout de suite après... il dis que les
> ressources sont utiliser par un autre processus... j'ai essayer de
> mettre des dispose mais rien y fait...
>
> quelqu'un pourrait regarder ?
>
> sSavePath = "..medias" & Session("photoCandidate") & "photos"
>
>
> If Not (filUpload.PostedFile Is Nothing) Then
> ' Check file size (mustn?t be 0)
> Dim myFile As HttpPostedFile = filUpload.PostedFile
>
>
> 'Vérification si le fichier a été uploader
> If myFile.ContentLength = 0 Then
> ResultMsg.Text = "Aucun fichier sélectionné."
> Return
> End If
>
> Dim type As String
>
> 'Vérification du type de fichier
> Select Case myFile.ContentType.ToLower
> Case "image/pjpeg", "image/jpeg", "image/gif",
> "image/png"
>
> Dim strFilename As String() > > myFile.FileName.Split("")
> Try
>
> myFile.SaveAs(Server.MapPath(sSavePath) &
> strFilename(UBound(strFilename)))
> filUpload.Dispose()
>
> Response.Redirect("photos.aspx")
>
> Catch ex As Exception
> ResultMsg.Text = "Un problème est survenu."
> End Try
>
> Case Else 'pas de fichier média
> ResultMsg.Text = "Ce fichier n'est pas une photo"
> End Select
>
> filUpload.Dispose()
>
> End If
>
> --
> Ceci est une signature automatique de MesNews.
> Site : http://mesnews.no-ip.com
>
Microsoft (et d'autres) recommande de laisser le garbage collector faire son travail. Il se peut que l'on soit obligé d'utiliser le Gc.Collect(n), notamment pour des objets occupant beaucoup de mémoires (énormes Bitmap par exemple), mais en règle général, il n'est pas nécessaire (et recommandé) de le faire.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenetchapt05.asp voir les sections "Garbage Collection Guidelines" et "Garbage Collection Explained"
Je pense que le code d'upload via la méthode filUploadControl.PostedFile.SaveAs n'impacte pas sur l'accès au fichier. Ce qui doit se passer, c'est que vous faîtes afficher votre image via votre navigateur, que le serveur a donc accès au fichier image pour envoyer un flux vers le client. C'est pourquoi lorsque vous voulez supprimer, il vous indique qu'il y a un autre processus dessus.
Généralement, ce que l'on fait, c'est qu'on tente la suppression et si elle échoue, on va stocker en base de données le chemin du fichier. Puis la nuit, on planifie la suppression des fichiers.
Frédéric Mélantois
"VANNESTE Xavier" a écrit dans le message de news:
essaie de rajouter un gc.collect pour force le garbage a passer "perceval" a écrit dans le message de news: > Voila mon problème... dès que je télécharge un fichier par ce bout de > code... si je veux l'éffacer tout de suite après... il dis que les > ressources sont utiliser par un autre processus... j'ai essayer de > mettre des dispose mais rien y fait... > > quelqu'un pourrait regarder ? > > sSavePath = "..medias" & Session("photoCandidate") & "photos" > > > If Not (filUpload.PostedFile Is Nothing) Then > ' Check file size (mustn?t be 0) > Dim myFile As HttpPostedFile = filUpload.PostedFile > > > 'Vérification si le fichier a été uploader > If myFile.ContentLength = 0 Then > ResultMsg.Text = "Aucun fichier sélectionné." > Return > End If > > Dim type As String > > 'Vérification du type de fichier > Select Case myFile.ContentType.ToLower > Case "image/pjpeg", "image/jpeg", "image/gif", > "image/png" > > Dim strFilename As String() > > myFile.FileName.Split("") > Try > > myFile.SaveAs(Server.MapPath(sSavePath) & > strFilename(UBound(strFilename))) > filUpload.Dispose() > > Response.Redirect("photos.aspx") > > Catch ex As Exception > ResultMsg.Text = "Un problème est survenu." > End Try > > Case Else 'pas de fichier média > ResultMsg.Text = "Ce fichier n'est pas une photo" > End Select > > filUpload.Dispose() > > End If > > -- > Ceci est une signature automatique de MesNews. > Site : http://mesnews.no-ip.com >
perceval
je serai a peu près d'accord avec vous sauf que si je reviens sur la meme page 20 minutes après par exemple et que j'affiche la photo (idem qu'avant mais sans l'upload quelques secondes avant) je peux cette fois ci l'effacer cette image... alors que je l'ai visible dans mon navigateur...
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
je serai a peu près d'accord avec vous sauf que si je reviens sur la
meme page 20 minutes après par exemple et que j'affiche la photo (idem
qu'avant mais sans l'upload quelques secondes avant) je peux cette fois
ci l'effacer cette image... alors que je l'ai visible dans mon
navigateur...
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
je serai a peu près d'accord avec vous sauf que si je reviens sur la meme page 20 minutes après par exemple et que j'affiche la photo (idem qu'avant mais sans l'upload quelques secondes avant) je peux cette fois ci l'effacer cette image... alors que je l'ai visible dans mon navigateur...
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
perceval
d'ailleur n'y a t'il pas un moyen de savoir quel est le processus exact qui est sur mon fichier ?
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
d'ailleur n'y a t'il pas un moyen de savoir quel est le processus exact
qui est sur mon fichier ?
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Avec Process Explorer par exemple ? (http://www.sysinternals.com/ntw2k/freeware/procexp.shtml)
Julien Adam
"perceval" wrote in message news:
d'ailleur n'y a t'il pas un moyen de savoir quel est le processus exact qui est sur mon fichier ?
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Patrice
L'image est probalement tirée du cache du navigateur.
IIS verrouille les fichiers accédés via HTTP, je crois par défaut pendant 1 mn (je ne retrouve pas l'article).
Une autre solution serait sans doute d'envoyer le fichier vers le navigateur au travers d'une page ASPX (Response.WriteFile). Comme il n'est du coup plus accédé via HTTP, il ne devrait plus être verrouillé par IIS et pourrait donc être supprimé dans la foulée.
(bien que pour l'instant je ne saisisse pas pourquoi le supprimer alors que l'on vient de l'uploader).
Patrice
--
"perceval" a écrit dans le message de news:
je serai a peu près d'accord avec vous sauf que si je reviens sur la meme page 20 minutes après par exemple et que j'affiche la photo (idem qu'avant mais sans l'upload quelques secondes avant) je peux cette fois ci l'effacer cette image... alors que je l'ai visible dans mon navigateur...
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
L'image est probalement tirée du cache du navigateur.
IIS verrouille les fichiers accédés via HTTP, je crois par défaut pendant 1
mn (je ne retrouve pas l'article).
Une autre solution serait sans doute d'envoyer le fichier vers le navigateur
au travers d'une page ASPX (Response.WriteFile). Comme il n'est du coup plus
accédé via HTTP, il ne devrait plus être verrouillé par IIS et pourrait donc
être supprimé dans la foulée.
(bien que pour l'instant je ne saisisse pas pourquoi le supprimer alors que
l'on vient de l'uploader).
Patrice
--
"perceval" <perceval_fr@yahoo.fr> a écrit dans le message de
news:mn.c2677d46e5081ea3.10396@yahoo.fr...
je serai a peu près d'accord avec vous sauf que si je reviens sur la
meme page 20 minutes après par exemple et que j'affiche la photo (idem
qu'avant mais sans l'upload quelques secondes avant) je peux cette fois
ci l'effacer cette image... alors que je l'ai visible dans mon
navigateur...
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
L'image est probalement tirée du cache du navigateur.
IIS verrouille les fichiers accédés via HTTP, je crois par défaut pendant 1 mn (je ne retrouve pas l'article).
Une autre solution serait sans doute d'envoyer le fichier vers le navigateur au travers d'une page ASPX (Response.WriteFile). Comme il n'est du coup plus accédé via HTTP, il ne devrait plus être verrouillé par IIS et pourrait donc être supprimé dans la foulée.
(bien que pour l'instant je ne saisisse pas pourquoi le supprimer alors que l'on vient de l'uploader).
Patrice
--
"perceval" a écrit dans le message de news:
je serai a peu près d'accord avec vous sauf que si je reviens sur la meme page 20 minutes après par exemple et que j'affiche la photo (idem qu'avant mais sans l'upload quelques secondes avant) je peux cette fois ci l'effacer cette image... alors que je l'ai visible dans mon navigateur...
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com