У нас есть 2 сервера. 10.30.1.1 — это сервер приложений, а 10.30.1.2 — сервер хранения. Теперь нам нужно читать и записывать файлы с сервера приложений в папку сервера хранения. Мы просто используем методы File.Writexxx
и File.Readxxx
, но получаем ошибки разрешения (DirectoryNotFoundException
). Наше приложение развернуто в IIS.
В соответствии с идентификатором пула приложений мы можем использовать <domainname>\<machinename>$,
`https://learn.microsoft.com/en-us/iis/manage/configuring-security/application-pool-identities#accessing-the-network но наши серверы находятся в рабочей группе, а не в домене.
Короче говоря, DirectoryNotFoundException
Вам необходимо настроить оба сервера, чтобы разрешить обмен файлами, а также проверить правила брандмауэра, чтобы разрешить трафик между двумя серверами.
Какая учетная запись в качестве AppPoolIdentity является локальной учетной записью
Создайте логин + пароль пользователя на 1.2 - не вход в домен, а простой вход пользователя на/для этого компьютера.
Затем создайте пользователя на 1.1 - то же имя + пароль.
Затем в пуле приложений укажите этого пользователя.
В результате ваш код должен иметь возможность свободно использовать + обновлять файлы на 1.2.
Я думаю, вам нужно предоставить IIS App Pool Identity разрешение на доступ к общей папке. Щелкните правой кнопкой мыши общую папку и выберите «Свойства»> выберите вкладку «Безопасность»> нажмите кнопку «Изменить»> нажмите кнопку «Добавить»> введите имя для удостоверения пула приложений IIS> нажмите кнопку «Проверить имена», чтобы проверить имя> Нажмите «ОК», чтобы добавить пользователя в список пользователей или групп > Предоставьте пользователю права на чтение/запись.
Основываясь на вашем описании, я не могу точно знать, с какой ошибкой разрешения вы сталкиваетесь. Пожалуйста, напишите подробнее об ошибке.