Directory.Delete non cancella la Directory
mbizzaro non è online. Ultima attività: 27/11/2008 14.34.53mbizzaro
Inserito il: 15 ottobre 2008 16.21
287 messaggi dal 05 ago 2005 Istalla Microsoft Silverlight!
Ciao Ragazzi,

Ho implementato una un semplice funzione che mi crea una directory nel mio webserver e salva il path nel db:



patta = "~/Press_Stuff/Article/" + "Marco"
Try

If Not Directory.Exists(patta) Then
Directory.CreateDirectory(Server.MapPath(patta))
End If


Adesso in un'altra webform ho una gridview con bottone delete che mi cancella il record da db correttemente ma non la cartella creata nel webserver:

Ho utilizzato il path che recupero dal db e lo salvo nella stringa "patta":

patta = _Image_URL.Substring(0, Len(_Image_URL) - Len(_Image_URL.Substring(_Image_URL.LastIndexOf("/"))))

If Directory.Exists(patta) = True Then

Directory.Delete(Server.MapPath(patta), True)
Else

'null

End If

Praticamente salta sempre all'ELSE come se il path non esistesse. Se invece tolgo l'IF in questo modo:

Directory.Delete(Server.MapPath(patta), True)

mi cancella la cartella ma poi mi dà un'errore:

Could not find a part of the path 'C:\Documents and Settings\Marco\Desktop\14_10_2008\Press_Stuff\Article\1'.

Come mai?

Grazie

Marco
RE: Directory.Delete non cancella la Directory
PeppeDotNet non è online. Ultima attività: 04/12/2008 20.31.48PeppeDotNet
Inserito il: 15 ottobre 2008 16.41
contributi / www.peppedotnet.it / 371 messaggi dal 21 gen 2007 Istalla Microsoft Silverlight!
le cose son due:
o il percorso è sbagliato
o l'utente con cui gira l'applicazione ASP.NET non ha i permessi di scrittura (e di conseguenza cancellazione) su tale cartella

Marchi Giuseppe
http://www.peppedotnet.it
RE: Directory.Delete non cancella la Directory
mbizzaro non è online. Ultima attività: 27/11/2008 14.34.53mbizzaro
Inserito il: 15 ottobre 2008 16.55
287 messaggi dal 05 ago 2005 Istalla Microsoft Silverlight!
Giuseppe,

Spiegami allora 2 cose semplici:

Se l'utente con cui gira l'applicazione ASP.NET non ha i permessi di scrittura, mi spieghi come sono in grado di creare la cartella senza problemi?

Il percorso è quello che è ststo memorizzato in fase di crezione:

patta = "~/Press_Stuff/Article/" + "Marco"

Come può essere sbagliato?

Marco
Microsoft Most Valuable Professional
RE: Directory.Delete non cancella la Directory
nostromo non è online. Ultima attività: 04/12/2008 18.16.45nostromo
Inserito il: 15 ottobre 2008 17.07
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 12576 messaggi dal 18 feb 2004 Istalla Microsoft Silverlight!
per prima cosa dovresti usare il Server.MapPath anche in

Directory.Exists(patta)

invece lo fai solo dopo


patta = "~/Press_Stuff/Article/" + "Marco"
Try

If Not Directory.Exists(patta) Then
Directory.CreateDirectory(Server.MapPath(patta))
End If


ciao marco

Modificato da nostromo il 15 ottobre 2008 17.09 -

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
RE: Directory.Delete non cancella la Directory
mbizzaro non è online. Ultima attività: 27/11/2008 14.34.53mbizzaro
Inserito il: 15 ottobre 2008 17.32
287 messaggi dal 05 ago 2005 Istalla Microsoft Silverlight!
Ciao Marco,

Comunque, anche toglindo l'IF mi va in errore. Adesso ho solo:

Dim patta As String

patta = _Image_URL.Substring(0, Len(_Image_URL) - Len(_Image_URL.Substring(_Image_URL.LastIndexOf("/"))))


Directory.Delete(Server.MapPath(Server.MapPath(patta)), True)

GridView1.DataBind()

E questo è l'errore che ho:

'C:\Documents and Settings\Marco\Desktop\14_10_2008\Press_Stuff\Article\1' is not a valid virtual path.
Microsoft Most Valuable Professional
RE: Directory.Delete non cancella la Directory
nostromo non è online. Ultima attività: 04/12/2008 18.16.45nostromo
Inserito il: 15 ottobre 2008 17.42
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 12576 messaggi dal 18 feb 2004 Istalla Microsoft Silverlight!
adesso l'errore è diverso non passi un percorso virtuale al metodo MapPath.

io ti consiglio di seguire con il debug ogni passo del codice

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

Vai a:
Torna al forum |   Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.


PeppeDotNet - 1000 pt
gghi - 310 pt
fabrica - 50 pt

Iscriviti anche tu e raccogli punti. Questo mese in palio VS 2008, SQL Prompt e 1 ebook!


COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums