Что действительно переопределяет корневой URL-адрес приложения?
единственное место во всем интернете, где я мог найти объяснение, находится на MSDN:
задает альтернативный путь для корневого URL-адреса приложения. Использовать это опция, если корень веб-приложения не является корнем проекта.
С здесь я понял, что "корень приложения" - это путь, который извлекается при использовании Тильды в ASP.NET - ... Поэтому я ожидаю, что если я перейду к свойствам проекта-Web - " Override корень приложения " и укажите другой url-адрес, тогда Тильда будет сопоставляться с этим url-адресом.
но это не так. Например мой веб-в виртуальном каталоге - http://localhost/WebApplication1
и на "Override application root" я пытаюсь указать http://localhost/WebApplication2
или http://localhost
или http://WebApplication2
(которые все существуют на моем локальном IIS). Теперь, когда я пишу
Response.Redirect("~/test2/login");
Я ожидаю, что он перенаправит меня на http://localhost/WebApplication2/test2/login
.
Но вместо этого он перенаправляет меня http://localhost/WebApplication1/test2/login
как будто я не переопределил "корень приложения".
Итак, что же эта функция действительно должна делать? Или, может быть, это не работает, потому что я что-то пропустил и не определил это правильно?
1 ответов
переопределить корневой URL-адрес приложения не изменяется, где корень приложения находится в вашем приложении. Он изменяет URL-адрес, используемый для достижения корня приложения. Поскольку IIS выполняет некоторую проверку имени хоста, она используется для указания, хотите ли вы достичь своего приложения другими средствами, кроме localhost:[PORT]
.
например, если вы переопределите его на www.myapp.com
затем вы можете добраться до своего приложения, добавив это в файл hosts:
127.0.0.1 www.myapp.com
это может быть особенно полезно, если вы делаете свое приложение доступным для удаленного устройства (виртуальной машины на вашем компьютере или мобильного устройства в сети), потому что они не смогут перейти к localhost
адрес приложения.