Datei auf Server löschen
Jutta
- asp.net
Mit dem folgenden Befehl will ich eine Datei, die ich kurz vorher angelegt habe wieder löschen (es handelt sich ja nur um ein Mail-Attachment):
fileobj.DeleteFile Server.MapPath("/pseudopfad/datei.txt")
Das Problem: Manchmal funktioniert es problemlos, manchmal krieg ich nur die Meldung "permission denied".
Was mich stutzig macht ist, daß ich die Datei immer ohne Fehler anlegen kann (d.h. an den Rechten kann es nicht liegen, da hab ich schon nachgesehen).
Woran sonst?
Danke im voraus,
Jutta
Hi Jutta,
ein Schuss ins Blaue: das klingt so, als wüdre die permission zum Löschen denied, weil die Datei noch in Benutzung ist. Bist Du sicher, dass die Datei zum Zeitpunkt des Löschens denn bereits fertig geschrieben ist? Hast Du ein application.lock drum rum?
Grüße,
Utz
Hallo Utz,
die datei ist fertig, denn vor dem löschen habe ich sie geschlossen (mit datei.close). ausserdem funktioniert das löschen ja manchmal ohne irgendeine fehlermeldung.
application.lock hab ich keines drum rum, da ich nicht einmal weiß, was das ist bzw. wozu das gut ist.
was sagst du, vielleicht ist es technisch besser, die datei in javascript zu löschen (ist doch sicher möglich), oder bin ich die einzige, die damit probleme hat?
Tschau,
Jutta
Hi Jutta,
application.lock verhindert, dass parallel ablaufende Prozesse sich gegenseitig behindern könnten. application.unlock hebt das dann wieder auf.
was sagst du, vielleicht ist es technisch besser, die datei in javascript zu löschen (ist doch sicher möglich),
Ne ne, mit JavaScript kann man keine Dateien löschen.
oder bin ich die einzige, die damit probleme hat?
Möglicherweise schon - denn mir ist nicht klar, warum Du erst eine Datei anlegst und schreibst, um sie dann gleich wieder zu löschen. Beschreib doch mal wofür Du es brauchst, ich könnte mir vorstellen, dass man in vielen Fällen einfacher, schneller und eleganter ohne Schreiben/Löschen auskommt.
Grüße,
Utz
Eigentlich brauche ich die Datei nur als Attachment für eine Mail, also nix langfristiges. nun ja, das mitm application.lock/unlock hab ich jetzt auch noch eingebaut, und es haut hin. Allerdings hat es vorher auch schon funktioniert, deshalb weiß ich jetzt nicht, ob wirklich das der Fehler war, denn wie gesagt, er tritt nur manchmal auf.
Verdammt. Bin gerade auf den Fehler draufgekommen. Du hattest schon recht, daß ein anderes Objekt das File gerade brauchte. Wenn die Datei als Attachment an eine Mail angehängt wird, die Mail aber nicht versendet wird und man dann diese Datei löschen will, taucht jener Fehler auf.
Damit wäre das dann erledigt. Trotzdem danke für deine Hilfe.
lg,
Jutta