Как включить доступ файловой системы к веб-сервису? - PullRequest
3 голосов
/ 25 января 2012

У меня есть приложение на C # / .Net, которое, по сути, представляет собой приложение для сбора толстых данных клиента. По заданному номеру детали он выполняет некоторые запросы к БД (к внешней базе данных Orcale), некоторые запросы Sharepoint, а также выполняет поиск информации на некоторых сетевых дисках. Сейчас я пытаюсь изменить это на сервис-ориентированную архитектуру. Веб-служба теперь находится на сервере, и при вызове тонким клиентом выполняет запросы базы данных, запросы sharepoint, а также запросы файловой системы и возвращает результаты. Все это работает хорошо, кроме поиска файлов. Похоже, что поиски заканчиваются пусто, потому что веб-служба выполняется в собственной маленькой виртуальной файловой системе и не может просматривать сетевые диски для сканирования файлов, которые нужно сканировать.

Может ли кто-нибудь порекомендовать правильный способ разрешить защищенный доступ для чтения к сетевым дискам, чтобы служба могла получать необходимую информацию? Я не собираюсь передавать эти файлы напрямую тонкому клиенту, просто позволяю службе иметь внутренний доступ ко всему массиву сетевых дисков в нашем офисе. Кстати, веб-служба размещена на IIS 6, Windows Server 2003.

1 Ответ

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

В зависимости от пользователя, с которым запускается веб-служба (я не могу вспомнить, какое значение по умолчанию для IIS6, но подозреваю, что это, по сути, «СЕТЕВОЙ СЕРВИС»), она не сможет читать сетевые ресурсы, если ониобеспечено.Лучше всего создать учетную запись домена для запуска веб-службы и использовать «Диспетчер служб IIS», чтобы настроить пул приложений для работы от имени указанного пользователя (ПРИМЕЧАНИЕ. Для IIS 6 вам также потребуется добавитьпользователь локальной группы пользователей "IIS_WPG").

Одна небольшая заметка, в которой вы упоминаете «сетевые диски»;ваша служба не будет использовать ни один из ваших подключенных сетевых дисков, поэтому вам необходимо предоставить ей полные UNC-пути (т. е. \\server\share вместо m:\), чтобы она работала.

...