ASP.NET - копирование файлов на подключенный сетевой диск - PullRequest
1 голос
/ 02 апреля 2012

Я пытаюсь скопировать файл из расположения на диске C на подключенный сетевой диск (Z), который является \ address \ content \

Однако я получаю следующее сообщение об ошибке:

System.UnauthorizedAccessException: Access to the path '\\192.168.100.227\content\2-Banner-20120402120304.png' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite)
   at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite)
   at Admin.Controllers.OffersController.UploadNewFiles(OfferModel offer)

Я проверил настройки безопасности для каталога и вижу, что следующий пользователь имеет полный доступ к папке

  • IUSER
  • SYSTEM
  • СЕТЬ СЕРВИС
  • Стойка
  • steven.wade
  • Администраторы
  • Пользователи

Любые идеи, почему я могу 'скопировать их через ASP.NET?

Steven

Ответы [ 2 ]

0 голосов
/ 02 апреля 2012

Вы копируете файлы с одного компьютера на другой, но NETWORK SERVICE - это локальная учетная запись, которая отличается для обоих компьютеров.Таким образом, вам нужна учетная запись домена для запуска вашего рабочего процесса.

0 голосов
/ 02 апреля 2012

Тег указывает на подключенный диск, и он не будет работать, так как эти диски не отображаются для этих пользователей (это не общесистемная настройка).

Даже если это не подключенный диск, аподелитесь своей действительно плохой идеей сделать это. Прежде я реализовал FileWatcherService с использованием класса FileSystemWatcher и скопировал его с помощью API. Служба работает как известный пользователь DOMAIN, и у нее есть все разрешения.Точно так же, как легко отбросить файл в отслеживаемый каталог, ваша служба может очистить этот файл после того, как копия проверена, мне это кажется немного нужным.

Вы даже можете записать файл обратно в другой каталог иследите за тем что бы его копировали :))

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