Получение System.UnauthorizedAccessException при попытке записи в файл из веб-службы - PullRequest
0 голосов
/ 21 декабря 2010

Мой код:

[WebMethod]
        public string HelloWorld()
        {
            string path = @"D:\Data\wwwroot\MyService\MyService\log.txt";
            if (File.Exists(path))
            {
                using (StreamWriter sw = new StreamWriter(path))
                {
                    sw.Write("Some sample text for the file");
                    return "wrote to a file";
                }
            }
            else
            {
                return "file doesnt exist";
            }

        }

что я получаю: System.UnauthorizedAccessException: Доступ к пути 'D: \ Data \ wwwroot \ MyService \ MyService \ log.txt' запрещен.в System.IO .__ Error.WinIOError (Int32 errorCode, String MaybeFullPath) в System.IO.FileStream.Init (Строковый путь, режим FileMode, доступ FileAccess, права Int32, логические useRights, общий ресурс FileShare, размер буфера Int32, параметры FileOptions, параметры SECURITY_ATTRIBUTES secA, String msgPath, Boolean bFromProxy) в System.IO.FileStream..ctor (строковый путь, режим FileMode, доступ к FileAccess, общий доступ к FileShare, Int32 bufferSize, параметры FileOptions) в System.IO.StreamWriter.CreateFile (строковый путь, логическое приложение)в System.IO.StreamWriter..ctor (строковый путь, логическое добавление, кодировка кодировки, Int32 bufferSize) в System.IO.StreamWriter..ctor (строковый путь) в LinkTagOutWebService.Service1.HelloWorld () в D: \ Data \ wwwroot\ MyService \ MyService \ Service.asmx.cs: строка 29

Какие настройки безопасности мне нужны?Файл журнала установлен на красный / запись ....

1 Ответ

2 голосов
/ 21 декабря 2010

Проблема решена, это была проблема с разрешениями. Вы должны предоставить пользователю IIS, на котором запущено ваше приложение, разрешение на запись в файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...