Override application root URL 到底做了什么?
What does Override application root URL really do?
整个互联网上我唯一能找到解释的地方是 MSDN:
Specifies an alternative path for the application root URL. Use this
option if the Web application root is not the root of your project.
从here我了解到"application root"是在ASP.NET中使用波浪符时检索的路径。所以我希望如果我转到项目的属性 - Web - "Override application root" 并指定另一个 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
,就好像我没有覆盖 "application root".
那么这个功能到底想做什么?或者可能它不起作用,因为我遗漏了一些东西并且没有正确定义它?
覆盖应用程序根目录 URL 不会更改应用程序根目录在您的应用程序中的位置。它更改了用于到达应用程序根目录的 URL。因为 IIS 会执行一些主机名验证,所以它用于指定是否要通过 localhost:[PORT]
.
以外的方式访问您的应用程序
例如,如果您将其覆盖为 www.myapp.com
,您可以通过将此添加到您的主机文件来访问您的应用程序:
127.0.0.1 www.myapp.com
如果您要让远程设备(计算机上的虚拟机或网络上的移动设备)可以使用您的应用程序,这可能特别有用,因为它们将无法导航到 localhost
作为申请地址。
整个互联网上我唯一能找到解释的地方是 MSDN:
Specifies an alternative path for the application root URL. Use this option if the Web application root is not the root of your project.
从here我了解到"application root"是在ASP.NET中使用波浪符时检索的路径。所以我希望如果我转到项目的属性 - Web - "Override application root" 并指定另一个 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
,就好像我没有覆盖 "application root".
那么这个功能到底想做什么?或者可能它不起作用,因为我遗漏了一些东西并且没有正确定义它?
覆盖应用程序根目录 URL 不会更改应用程序根目录在您的应用程序中的位置。它更改了用于到达应用程序根目录的 URL。因为 IIS 会执行一些主机名验证,所以它用于指定是否要通过 localhost:[PORT]
.
例如,如果您将其覆盖为 www.myapp.com
,您可以通过将此添加到您的主机文件来访问您的应用程序:
127.0.0.1 www.myapp.com
如果您要让远程设备(计算机上的虚拟机或网络上的移动设备)可以使用您的应用程序,这可能特别有用,因为它们将无法导航到 localhost
作为申请地址。