2013-08-29 3 views
2

В ASP.NET MVC приложений У меня есть такой код:Почему HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath отличается на разных серверах?

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

Этот код выполняется при каждом запросе в Application_AuthenticateRequest методы. Проблема в том, что на одном компьютере p находится ~/Login.aspx и ~/Login.aspx/LoginUser с другой. Запрос был сделан в ~/Login.aspx/LoginUser. Почему поведение отличается?

ответ

0

Он получает виртуального путь из приложения корня и делает его относительно с помощью тильды (~) обозначения. Он ничего не говорит о параметрах пути, который вы прошли через tt.

Если вы посмотрите на начало возвращаемой строки, это то же самое. Я уверен, что URL-адрес в каждом запросе отличается, с LoginUser и без него, поэтому полная возвращаемая строка кажется отличной базой для этого, хотя для функции они одинаковы.