Как разместить сайт ASP.NET MVC в подпапке - PullRequest
8 голосов
/ 12 января 2010

Я пытаюсь запустить небольшой проект ASP.NET в подпапке моего хостинга. Мой домен www.gorangligorin.com, но я хочу запустить свое приложение на www.gorangligorin.com/testmvc. ASP.NET MVC работает без проблем на верхнем уровне, но не в подпапках.

Сервер говорит следующее (строка 58 окрашена в красный цвет):

Line 56:             ASP.NET to identify an incoming user. 
Line 57:     -->
Line 58:     <authentication mode="Forms">
Line 59:       <forms loginUrl="~/Account/LogOn" timeout="2880" />
Line 60:     </authentication>

Что я могу сделать, чтобы этот веб-сайт ASP.NET MVC работал? Он не размещен на моем компьютере, поэтому у меня нет доступа к настройкам IIS.

Ответы [ 4 ]

5 голосов
/ 12 января 2010

Настройки корневого приложения в IIS могут повлиять на ваши дочерние приложения. Чтобы предотвратить распространение корневых настроек, вставьте следующий код в ваш корневой web.config:

<location path="." inheritInChildApplications="false"/>

Надеюсь, это поможет.

3 голосов
/ 12 января 2010

Создавали ли вы приложение ASP.NET в IIS для этого каталога? В противном случае ASP.NET считает, что корень вашего сервера - это корень вашего приложения, а не тот, который находится в подкаталоге.

1 голос
/ 07 августа 2012

Существует две основные причины этой проблемы:

  1. Если вы не настроили ваше приложение asp.net в IIS как для установки этого виртуального каталога в качестве приложения

  2. Два или несколько Web.Config существует на вашем сайте. Так как у вас есть web.config на корневом уровне и второй web.config в подкаталоге. Так что просто удалите этот web.config, если он такой же. или вернитесь к 1 и решите это соответствующим образом в IIS

    И так как вы добавили подкаталог из root, я бы сказал, что вам нужно изменить маршруты в файле global.asax, чтобы обрабатывать маршрутизацию

Url = "testmvc / {controller} / {action} / {id}"

1 голос
/ 12 января 2010

Вы пробовали следующее?

<forms loginUrl="~/testmvc/Account/LogOn" timeout="2880" />

Тильда (~) является ярлыком для свойства HttpRuntime.AppDomainAppVirtualPath, которое относится к корню виртуального приложения, а не к корню веб-сервера.

HttpRuntime.AppDomainAppVirtualPath

http://msdn.microsoft.com/en-us/library/system.web.httpruntime.appdomainappvirtualpath.aspx

Кроме того, что за звездочка?

Line 58:     <authentication mode="Forms">*
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...