Я знаю, что это старый пост, но решил поделиться своим решением. Была такая же проблема; Не удалось получить доступ к сетевому диску с моего WCF, работающего в IIS. Я попробовал виртуальный каталог, предоставив мои сетевые учетные данные, которые не работали.
Решение, которое работало для меня, состояло в том, чтобы создать пул приложений в IIS для моей службы, под которой будет работать. Затем я дал сетевые учетные данные пула приложений. Изменен мой сервис для работы внутри этого пула приложений, и теперь сервис может получить доступ к сетевому ресурсу.
Итак, мои шаги были:
1) Создать новый пул приложений в IIS. Щелкните правой кнопкой мыши «Пулы приложений» в окне «Подключения». Затем «Добавить пул приложений ...». Дайте новому пулу имя и выберите каркас. Я оставил другие настройки по умолчанию. 'Ok'.
2) Изменить идентификатор нового пула приложений. В списке «Пулы приложений» щелкните правой кнопкой мыши новый пул и перейдите в «Расширенные настройки». В «Режиме обработки» откройте «Идентификационные данные». Выберите «Пользовательская учетная запись:» и укажите сетевые учетные данные, которые имеют доступ к сетевой папке. Тогда «Хорошо», «Хорошо».
3) Измените пул, в котором работает ваша служба. Выберите приложение-службу и нажмите «Основные настройки ...» (на панели «Действия»). Нажмите «Выбрать ...» во всплывающем окне. Измените пул приложений на новый созданный пул. Тогда «Хорошо», «Хорошо».
Теперь ваша служба должна иметь доступ к общему сетевому ресурсу, используя предоставленные учетные данные. Вы можете проверить свои учетные данные, но я бы рекомендовал использовать учетную запись службы (виртуальная учетная запись без политики сброса пароля) при развертывании службы.
Надеюсь, это поможет другим!