为什么HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath在不同的服务器上有所不同?

时间:2013-08-29 15:28:46

标签: c# asp.net-mvc iis

在asp.net mvc应用程序中,我有一个这样的代码:

var p = HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath;
if (p.EndsWith("Login.aspx")) return;

此代码以Application_AuthenticateRequest方法对每个请求执行。问题是,在一台计算机上,p为~/Login.aspx而另一台为~/Login.aspx/LoginUser。该请求是~/Login.aspx/LoginUser的。为什么行为不同?

1 个答案:

答案 0 :(得分:0)

它获取应用程序 root 虚拟路径,并使用波浪号(〜)表示法使其相对。它没有说明你通过的路径参数。

如果你看一下返回字符串的开头,它就是一样的。我很确定每个请求中的URL都是不同的,有和没有LoginUser,所以完整的返回字符串看起来不同,尽管如此,对于函数来说,它们是相同的。