Не могу понять HttpRequest.ApplicationPath - PullRequest
0 голосов
/ 24 сентября 2010

HttpRequest.ApplicationPath возвращает виртуальный корневой путь для текущего приложения, поэтому не следует делать это в следующем примере, когда пользователь запрашивает http://localhost:64390/WebSite2/Default.aspx, lblApplicationPath.Text возвращаемую строку “/WebSite2”, поскольку это путь от виртуального корневого сайта.WebSite2 виртуальный корень приложения?Вместо этого он возвращает пустую строку

Default.aspx:

<asp:Label ID="lblApplicationPath" runat="server" 
     Text='<%# HttpContext.Current.Request.ApplicationPath %>'>
</asp:Label>

Аналогично, статья в http://msdn.microsoft.com/en-us/library/ms178116.aspx гласит, что при запросе браузера к http://www.contoso.com/MyApplication/MyPages/Default.aspx, ApplicationPath возвращает/, но не должен ли он возвращать /MyApplication, так как это путь от виртуального корня сайта до виртуального корня приложения?

Спасибо

1 Ответ

2 голосов
/ 24 сентября 2010

Это зависит от того, где приложение фактически определено. В описанных случаях кажется, что приложение определено на уровне /, но файлы находятся в подпапке. Ваш собственный пример использует встроенный веб-сервер для студии. Возможно, вам следует настроить локальный IIS для обслуживания этого веб-сайта и принудительно определить корень приложения на уровне подпапок, отличных от http://localhost/.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...