разница в физическом пути, корневом пути, виртуальном пути, относительном виртуальном пути, пути приложения и абсолютном пути?

У меня есть некоторая путаница в понимании того, что отличается в различных путях, доступных в .Net для ресурса.

Я только предполагаю, что физический путь-это путь к каталогу ОС для ресурса. Я смущен, и событие не может сказать о том, какой путь в основном мне нужно использовать.

2 ответов


следующий должен предоставить вам информацию, которую вы ищете:

делать смысл ASP.NET пути


в отношении ASP.NET применение я думаю об этом так:

Физический Путь: путь ОС с помощью диска / каталога / файла, в котором фактическое приложение действительно не использует этот путь, но если бы это было так, он был бы сопоставлен с помощью виртуального пути. Физический путь-это то, как ОС находит ресурс/ы т. е.: c:\inetpub\wwwroot\aspnetapp фактическое приложение заботится только о пути относительно корневого каталога.

Корень Путь: это будет URI или URL в корне вашего aspnetapp или ~/Home/Index с правильной конфигурацией маршрута (не путать с Соглашением об именовании корневого каталога Unix). http://www.yardpenalty.com фактически может быть местоположением физического пути этого примера с точки зрения OS/NOS.

виртуальный путь или относительный виртуальный путь: путь, который приложение идентифицирует или идентифицируется с его веб-сервера.

например, в IIS (или OWIN) у вас может быть каталог ресурсов для ваших изображений в папке c:\inetpub\ftp\images но разработчик сопоставляет эту папку с приложением, как так... ~\Images. Поэтому думайте об этом как о возможности создать относительный путь к ресурсам, идентифицируемым вашим приложением и его пользователями, физически расположенными в другом месте.

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

Абсолютный Путь: в весь путь к ресурсу. Предположим, у вас есть ссылка, которая приведет вас к определенному маршруту, как это: <a href="http://www.yardpenalty.com/home/about"> About</a>. Если эта ссылка была в макете или главной странице относительный путь <a href="~/home/about">About</a> был бы чище. Есть случаи, когда вам нужно жестко закодировать абсолютный путь, но обычно разумнее использовать относительные пути, особенно когда разработка включает миграции.