2012-12-13 83 views
9

私はリソースのために.Netで利用できるさまざまなパスで何が違うのか理解するのにいくつかの混乱があります。物理パス、ルートパス、仮想パス、相対仮想パス、アプリケーションパス、および絶対パスの違い?

私は推測物理パスは、リソースのOSディレクトリパスです。私は混乱しており、イベントは基本的にどのパスを使用する必要があるかについてはわかりません。

答えて

5

次はあなたが探している情報を提供する必要があります

物理パス:私はこのようにそれを考えるASP.NETアプリケーションに関しては

Making Sense of ASP.NET Paths

+0

あなたは、comletlyを教えていないのですか? – user576510

+0

ルートパスはプロジェクトのルートからです。たとえば、イメージリンクの場合は、tilda演算子(〜)を使用してフォルダの接頭辞を付け、runat = "server"属性を追加して正しく解決するようにします。 – IrishChieftain

+0

[this](http://stackoverflow.com/questions/21306512/difference-between-relative-path-and-absolute-path-in-javascript)は誰かを助けるかもしれません。 – stom

10

をOSパスは実際のアプリケーションが実際にこのパスを使用しないドライブ/ディレクトリ/ファイルを使用しますが、そうした場合、仮想パスを使用してマップされます。物理パスは、OSがどのようにリソースを探すかを表します。 :c:\\inetpub\wwwroot\aspnetapp実際のアプリケーションでは、ルートディレクトリを基準にした相対パスのみが対象です。

ルート・パス:これは、適切なルート設定を使用してaspnetappや~/Home/IndexのルートURIまたはURLになります(Unixルートディレクトリの命名規則と混同しないでください)。 http://www.yardpenalty.comは実際にOS/NOSに関してこの例の物理パスの場所になる可能性があります。

仮想パスまたは相対仮想パス:アプリケーションがWebサーバーから識別または識別するパス。

例えば、IIS(またはOWIN)では、フォルダc:\\inetpub\ftp\imagesに画像のリソースディレクトリがあるかもしれませんが、開発者はこのフォルダをアプリにマップします。~\Images。他の場所に物理的に配置されている間に、アプリとそのユーザーによって識別可能なリソースへの相対的なパスを作成する機能と考えることができます。

開発者が単一のドメインの下に単一のアプリケーションの外観を与えることを望むプロジェクトが1つ以上ある場合、ルートアプリケーションの下で仮想パスを使用すると開発に役立つと思います。

絶対パス:リソースへのパス全体。 たとえば、 <a href="http://www.yardpenalty.com/home/about"> About</a>のような特定のルートにリンクするリンクがあるとします。このリンクがレイアウトまたはマスターページにある場合、相対パス<a href="~/home/about">About</a>はよりクリーンになります。絶対パスをハードコードする必要がある場合がありますが、特に開発にマイグレーションが関係する場合は、相対パスを使用する方が一般的に賢明です。

関連する問題