Программная настройка параметра «Преобразовать в приложение» для сайта .net - PullRequest
3 голосов
/ 23 августа 2011

Я загрузил код asp.net в C:\inetpub\wwwroot\myfolder на IIS, используя FTP. Он не будет работать должным образом, пока я не изменю настройку из диспетчера IIS и не нажму «Преобразовать в приложение». Есть ли способ установить его из самого кода, так как у меня нет доступа к IIS Manager?

Обновление: точное сообщение об ошибке:

Сообщение об ошибке парсера: ошибка использовать раздел, зарегистрированный как allowDefinition = 'MachineToApplication' за пределами уровня приложения. это ошибка может быть вызвана тем, что виртуальный каталог не настроен как приложение в IIS.

Ответы [ 3 ]

4 голосов
/ 01 сентября 2011

У вас небольшая проблема с курицей и яйцом и, скорее всего, проблема с разрешениями.

Приложение IIS определяет корень приложения (у которого есть web.config, и его можно сопоставить с appppoolпроцесс и т.д ...).Приложение IIS сопоставляется с каталогом IIS, который является физическим каталогом, или с физическим каталогом (vdir).

Вы переносите код FTP в этот каталог.

Первая проблема - создание IISПриложение также требует очень высоких привилегий, которые, даже если вы можете выполнить свой код после FTP, пул приложений, скорее всего, не имеет и не должен запускаться с таким разрешением.

Администратор сервера или хостинговая компания должны создать приложение IIS, которое сопоставляется с папкой, в которую вы отправляете FTP.Либо это, либо какой-либо код конфигурации / сценарий / установщик должен запускаться на сервере в интерактивном режиме администратором.

PS: есть один крайний случай, когда он может работать, если вы отправляете FTP в vdir, которыйгде вам нужно создать приложение IIS, но оно находится под корневым приложением IIS, которое сопоставлено с пулом приложений, который работает в системе как администратор с повышенными правами (не рекомендуется, и, скорее всего, не так), вы делаете запрос относительно корня, который будетсоздать приложение IIS на виртуальном диске, где вы FTP.Очень маловероятно, и вы не захотите в любом случае бегать в этой возвышенной обстановке ради чего-то, с чем сталкивается снаружи.

3 голосов
/ 03 сентября 2011

Я нашел это: http://www.shabdar.org/asp-net/74-virtual-directory-not-being-configured-as-an-application-in-iis.html

, попробуйте поместить это: <authentication mode="None" /> в ваш web.config и посмотрите, как это работает.

, если все еще не работаети ни в коем случае провайдер хостинга не настраивает этот сайт как приложение, вам лучше поискать в Google с помощью этой строки поиска:

allowDefinition = 'MachineToApplication' за пределами уровня приложения.Эта ошибка может быть вызвана тем, что виртуальный каталог не настроен как приложение в IIS

3 голосов
/ 01 сентября 2011

на размещенном IIS-сервере, который предоставляет только FTP-доступ клиентам, у которых нет возможности преобразовать виртуальный каталог в приложение.

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

web.config будет работать в любом случае, конечно, есть некоторые ограничения, например, вы не можете указать пул приложений, и ваше веб-приложение будет работать в пуле приложений, определенном для родительского приложения виртуального каталога, но во многих случаях это все равно будет хорошо.

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

Я бы сначала попытался отладить и запустить локально как виртуальный каталог.

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