リソースの.Netで利用可能なさまざまなパスの違いを理解するのに混乱があります。
物理パスは、リソースの OS ディレクトリ パスだと思います。私は混乱しており、イベントは基本的にどのパスを使用する必要があるかを判断できません。
リソースの.Netで利用可能なさまざまなパスの違いを理解するのに混乱があります。
物理パスは、リソースの OS ディレクトリ パスだと思います。私は混乱しており、イベントは基本的にどのパスを使用する必要があるかを判断できません。
ASP.NET アプリケーションに関しては、次のように考えています。
物理パス:ドライブ/ディレクトリ/ファイルを使用する OS パス。実際のアプリは実際にはこのパスを使用しませんが、使用する場合は仮想パスを使用してマップされます。物理パスは、OS がリソースを見つける方法です。つまりc:\\inetpub\wwwroot\aspnetapp
、実際のアプリは、ルート ディレクトリからの相対パスのみを考慮します。
ルート パス:これは、aspnetapp のルートにある URI または URL、または~/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>
方がクリーンです。絶対パスをハードコーディングする必要がある場合もありますが、特に開発に移行が含まれる場合は、通常、相対パスを使用する方が賢明です。
現在の作業ディレクトリへの相対パス - このような形式でパスの説明を見つけることがあります。これ./Directory/Filename.Ext
は、パスが現在のアプリケーションの作業ディレクトリに対して相対的に指定されていることを意味します。