Проблема записи в файл с веб-сервера - PullRequest
0 голосов
/ 04 февраля 2009

Одним из требований проекта, над которым я работаю, является экспорт файла в общий сетевой ресурс на основе определенных критериев. Когда я запускаю код в Visual Studio, он работает просто отлично, но при его развертывании действия, которые инициируют сохранение файла, заканчиваются неудачей. пользователи видят предупреждение с:

Could not find file '<full filename...>'.

В файле web.config я установил для impersonate значение true, и у пользователей есть разрешение на запись в данный сетевой ресурс.

Вот код для записи в файл:

using (System.IO.FileStream fs = new System.IO.FileStream(fullpath, System.IO.FileMode.Create))
{
    using (System.IO.StreamWriter sw = new System.IO.StreamWriter(fs))
    {
        sw.WriteLine(RouteMeter.HeaderString);
        foreach (RouteMeter meter in rm)
        {
            sw.WriteLine(meter);
        }
    }
}

Ответы [ 2 ]

2 голосов
/ 04 февраля 2009

Существует множество переменных, которые могут привести к сбою олицетворения пользователя, в этом случае IIS попытается выполнить действие как анонимный пользователь. Вы проверяете, что пользователь правильно аутентифицирован, прежде чем пытаться записать в файл?

Если олицетворение включено для Приложение ASP.NET, это приложение работает в контексте идентичности чей токен IIS проходит ASP.NET. Этот токен может быть аутентифицированный токен пользователя, такой как токен для вошедшего в систему пользователя Windows, или токен, который IIS предоставляет для анонимных пользователей (обычно IUSR_MACHINENAME удостоверение личности).

http://msdn.microsoft.com/en-us/library/xh507fc5.aspx

0 голосов
/ 04 февраля 2009

Я подозреваю, что лучшим подходом здесь было бы установить удостоверение пула приложений для доступа (без олицетворения). Также убедитесь, что вы используете UNC-пути, а не имена общих сетевых ресурсов ("\\ foo \ bar", а не "f:" и т. Д.).

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