В настоящее время я создаю веб-ферму, используя ARR и платформу веб-фермы.
У нас есть два сервера ARR, которые являются частью их собственного кластера NLB с веб-фермой, содержащей два идентичных сервера содержимого.
Я развернул приложение на ферме, чтобы провести некоторое тестирование и столкнулся с проблемой. При попытке загрузить файл через указанное веб-приложение (или любое другое в этом отношении), которое находится на серверах содержимого, я получаю следующую ошибку:
Доступ к пути C: \ inetpub \ wwwroot \ content \ attachments \ 8 запрещен.
После небольшой детективной работы я обнаружил, что этот путь находится на сервере ARR, а не на сервере содержимого, на котором находится приложение, и я ожидал, что файл будет загружен.
Приложение определяет, куда его нужно загрузить, используя HttpContext.Server.MapPath(@"\content\attachments\" + id);
Путь, который я ожидал увидеть, будет D:\Web Data\Application\Content\Attachments\8
это локальный путь, существующий в одном месте на всех серверах содержимого веб-фермы.
Я знаю, что есть способы сделать это, изменив сами приложения, но если мы можем помочь, разработчикам это не потребуется.
Есть ли в ARR / IIS что-то, что нужно настроить / можно настроить так, чтобы приложения могли видеть файловую систему на компьютере, на котором они фактически находятся в веб-ферме?