Запрос.Путь к файлу клиента виден в окне просмотра, но недопустим в коде

#c# #asp.net #webforms

#c# #asp.net #веб-формы

Вопрос:

У меня есть устаревшее приложение, которое использует перезапись IIS для маскировки определенных базовых структур папок. В Global.asax файле есть проверка URL-адреса для предотвращения несанкционированного доступа к URL-адресам.

Проблема, с которой я сталкиваюсь, заключается в том, что мне нужно получить доступ к переписанному URL-адресу, поскольку он более последователен, чем фактический путь к файлу, например app/example.aspx , вводится в браузере, но app/virtualdirectory/folder/anotherfile.aspx доставляется файл.

При отладке я вижу вызываемый объект this.Request ClientFilePath , который содержит /example.aspx то, что мне нужно, однако, когда я прекращаю отладку, я не могу получить доступ к этому свойству в коде. Эта строка

 if(this.Request.ClientFilePath == "/example.aspx")
 

выдает следующую ошибку:

 'HttpRequest' does not contain a definition for 'ClientFilePath' and no accessible extension method 'ClientFilePath' accepting a first argument of type 'HttpRequest' could be found (are you missing a using directive or an assembly reference?)
 

ClientFilePath Здесь есть ссылка на это свойство, но оно недоступно.

Какой другой метод я мог бы использовать, чтобы получить относительный путь в соответствии с клиентом asp ? Я не хочу пытаться анализировать значение из строки, поскольку мне нужно сохранить структуру папок для других целей, а путь к файлу изменяется в соответствии с определенными критериями.