Я пытался написать код, чтобы я мог записывать сообщения об ошибках. Я пытаюсь назвать файл с датой и хотел бы создать новый файл журнала для каждого дня. Пройдя через небольшой взгляд вокруг, я пришел со следующим кодом ...System.UnauthorizedAccessException при создании файла
class ErrorLog
{
public void WriteErrorToFile(string error)
{
//http://msdn.microsoft.com/en-us/library/aa326721.aspx refer for more info
string fileName = DateTime.Now.ToString("dd-MM-yy", DateTimeFormatInfo.InvariantInfo);
//@ symbol helps to ignore that escape sequence thing
string filePath = @"c:\users\MyName\mydocuments\visual studio 2012\projects\training\" +
@"discussionboard\ErrorLog\" + fileName + ".txt";
if (File.Exists(filePath))
{
// File.SetAttributes(filePath, FileAttributes.Normal);
File.WriteAllText(filePath, error);
}
else
{
Directory.CreateDirectory(filePath);
// File.SetAttributes(filePath, FileAttributes.Normal)
//Throws unauthorized access exception
RemoveReadOnlyAccess(filePath);
File.WriteAllText(filePath, error);
}
}
public static void RemoveReadOnlyAccess(string pathToFile)
{
FileInfo myFileInfo = new FileInfo(pathToFile);
myFileInfo.IsReadOnly = false;
myFileInfo.Refresh();
}
/*Exception thrown:
* UnAuthorizedAccessException was unhandled.
* Access to the path 'c:\users\anish\mydocuments\visual studio 2012\
* projects\training\discussionboard\ErrorLog\04\12\2013.txt' is denied.
*/
}
Я нашел форум, который обсуждался о подобной проблеме, но с использованием File.SetAttrributes (Filepath, FileAttributes.Normal) не не помогли ни RemoveReadOnlyAccess (включены в код выше). Когда я проверяю свойства папки, она имеет только чтение, но даже когда я отмечаю это, он возвращается снова. Я проверил разрешения на папку и за исключением специального разрешения, которое я не смог изменить, все разрешено. Любое предложение о том, как я должен действовать, будет оценено по достоинству. Why is access to the path denied? ссылка обсуждает подобную проблему, но я не смог заставить свою работу работать с предложениями, перечисленными там.
Спасибо, что нашли время, чтобы посмотреть на это.
Является ли это услугой или приложением? Пользовательские права на каталог могут иметь какое-то отношение к нему - можете ли вы предоставить дополнительную информацию об инфраструктуре? Если это услуга, она работает как учетная запись домена или локальная учетная запись? – Charleh
@Charleh - это часть приложения формы окна. Я планирую назвать этот метод во всех моих блоках catch. Что касается прав пользователя, если у него не было прав, если он также не смог создать папку.Он создал имя папки «ErrorLog» в указанном месте. Благодарю. – NoSaidTheCompiler