Immer access denied, wenn Sie versuchen, löschen Sie die Datei
Ich bin immer Zugriff verweigert, wenn ich versuche, eine Datei zu löschen, die nach Beendigung der Lektüre es bei C:\inetpub\wwwroot\Project\temp\
. Ich Close() und Dispose() der StreamReader schon richtig? Darüber hinaus habe ich volle Berechtigungen für das NETWORK SERVICE-Konto? Kann mir jemand helfen?
reader = new StreamReader(path + fileName);
DataTable dt = new DataTable();
String line = null;
int i = 0;
while ((line = reader.ReadLine()) != null)
{
String[] data = line.Split(',');
if (data.Length > 0)
{
if (i == 0)
{
dt.Columns.Add(new DataColumn());
foreach (object item in data)
{
DataColumn c = new DataColumn(Convert.ToString(item));
if (Convert.ToString(item).Contains("DATE"))
{
c.DataType = typeof(DateTime);
}
else { c.DataType = typeof(String); }
dt.Columns.Add(c);
}
dt.Columns.Add(new DataColumn("CreatedDate", typeof(DateTime)));
i++;
}
else
{
DataRow row = dt.NewRow();
row[0] = "";
for (int j = 0; j < data.Length; j++)
{
if (dt.Columns[j + 1].DataType == typeof(DateTime))
{
row[j + 1] = Convert.ToDateTime(data[j]);
}
else
{
row[j + 1] = data[j];
}
}
row[data.Length + 1] = DateTime.Now.ToString();
dt.Rows.Add(row);
}
}
}
DataAccess dataAccess = new DataAccess(Constant.CONNECTION_STRING_NAME);
dataAccess.WriteBulkData(dt, Constant.TABLE);
reader.Close();
reader.Dispose();
File.Delete(path);
seine wahrscheinlich immer noch im Einsatz
Als Microgen hat gesagt, es ist wahrscheinlich immer noch in Gebrauch. Habe ich In der Vergangenheit Probleme hatte, wo es dauert ein wenig Zeit, um richtig zu befreien die Datei, versuchen Sie, eine Verzögerung vor, Sie versuchen Sie es und löschen Sie ihn, um zu sehen, ob es ist, dass
Als Microgen hat gesagt, es ist wahrscheinlich immer noch in Gebrauch. Habe ich In der Vergangenheit Probleme hatte, wo es dauert ein wenig Zeit, um richtig zu befreien die Datei, versuchen Sie, eine Verzögerung vor, Sie versuchen Sie es und löschen Sie ihn, um zu sehen, ob es ist, dass
InformationsquelleAutor Leo | 2010-11-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Datei.Delete-Methode aufrufen sollte, nehmen Sie den Pfad + Dateinamen als parameter. Dies ist, weil laut diesem link http://msdn.microsoft.com/en-us/library/system.io.file.delete.aspx Pfad ist der vollständige Pfad, einschließlich des Dateinamens und Ihre path-variable enthält nur den Namen des Ordners.
InformationsquelleAutor Mamta D
Den Sie löschen
File.Delete(path);
nichtFile.Delete(path + filename);
InformationsquelleAutor JLWarlow
Die Sie öffnen,
Aber Sie schließen
InformationsquelleAutor Jens
Hatte ich auch das problem, daher ist mir das stolpern über diesen Beitrag zum server. Ich fügte hinzu, die folgende Zeile des Codes vor und nach einem Kopieren /Löschen.
Löschen
Kopieren
Link: Warum ist der Zugriff auf den Pfad verweigert?
Während der OP war etwas albern fand ich dies da der Zugriff auf die Datei, die ich versuchte zu schreiben war eigentlich verweigert. DIESE Feste. `` Datei.SetAttributes(file, FileAttributes.Normal); ``
InformationsquelleAutor Durgesh Pandey