10

次のディレクトリを持つ ASP.NET プロジェクトがあります

\ads
\photos

これらのフォルダーには両方とも、頻繁に更新される何千ものファイルが含まれています。現在、IIS を

\inetpub\wwwroot\foo
\inetpub\wwwroot\foo\ads
\inetpub\wwwroot\foo\photos
\inetpub\wwwroot\foo.staging
\inetpub\wwwroot\foo.staging\ads
\inetpubのようにセットアップしています。 \wwwroot\foo.staging\photos

これを

\inetpub\wwwroot\foo
\inetpub\wwwroot\foo\ads
\inetpub\wwwroot\foo\photos
\inetpub\wwwroot\foo.staging
\inetpub\wwwroot\fooに変更することを検討しています.staging\ads
\inetpub\wwwroot\foo.staging\photos
\inetpub\wwwroot\foo.resources\ads
\inetpub\wwwroot\foo.resources\photos

foo および foo.staging のサブディレクトリを、foo.resources サブディレクトリを指す仮想ディレクトリに変換します。このようにして、ステージングでテストしている間、展開するたびに広告と写真のすべてのファイルをコピーする必要がなく、同期がずれることを心配する必要がありません。これは悪い考えですか?Visual Studio 2008 で開発しています - VS で Web アプリケーション プロジェクトのサブディレクトリを仮想ディレクトリとして扱う方法はありますか?

4

6 に答える 6

2

IIS の Web アプリケーションに含まれる仮想ディレクトリは、Visual Studio のパッケージのように見えます。

ルート アプリを開いてパッケージをクリックすると、子アプリ / vdir をソリューションに追加するかどうかを尋ねられます。次に、それを 2 番目のプロジェクトとして開き、必要に応じて参照または使用できます。

テストとライブ展開の背後にある考え方は、テストで何かが壊れた場合に備えて、別々のデータを用意する必要があるということです。基本的に、ライブ データをテストに使用することで、削除/変更すべきでないものを削除したり、データのライブ コピーを壊したりしないようにする必要があります。

そうは言っても、構築する予定がデータを読み取るものだけである場合、これは非常に優れたアイデアです。これにより、展開にかかるディスク容量と時間が大幅に節約されます。

最初にIISで希望どおりに表示してから、VSで開きます。

Visual Studio は、サーバー上で定義されたすべての仮想アプリケーションをサブ アプリケーションとして扱います。リソースが IIS のアプリケーションとして子ディレクトリに設定されていない場合は、通常のフォルダとして表示されます。

例えば ​​...

IIS で 2 つの Web サイトをセットアップし、物理フォルダーを両方のイメージに仮想ディレクトリとしてマップする場合、Visual Studio でいずれかを開いたときに、通常のフォルダーとしてそれらにアクセスできるはずです。

ただし、IIS で仮想ディレクトリをアプリケーションに作成し、VS で Web サイトを開くと、パッケージが表示されるだけです。それをクリックすると、VS の 2 番目のプロジェクトとして追加されます。

私は物事を説明するのが得意ではありませんが、うまくいけばそれは理にかなっています。

それが役に立てば幸い :)

于 2010-05-17T15:58:04.807 に答える
0

Visual Studioでリンクフォルダーを使用することもできます=これにより、別のプロジェクト(またはディスク上の別の場所)のフォルダーへの仮想リンクが作成されますが、ディスク上に物理的にコピーされません。

于 2010-06-09T11:45:48.387 に答える
0

別のオプション...SVNを使用していて、イメージをディスク上に物理的に2回保持しても満足しているが、それらを同期している場合は、SVN外部を使用することです。

于 2010-06-09T11:46:58.557 に答える
0

デプロイ時にコピーするリソースが大量にあるという点で、私のアプリケーションにも同様の問題があります。
ブラウザに画像リソースを提供するファイル ハンドラを構築することを検討しています。つまり、次のような画像にリンクする場合/filehandler.ashx?image=/ads/101/o3904838402384.jpg、テスト環境とライブ環境の両方で異なるまたは同じファイルストレージフォルダーを指す構成設定を持つことができます。

これがどのように機能するかの基本へのリンクです。

http://dotnetperls.com/ashx-handler

于 2010-06-04T10:14:36.250 に答える
0

これらはリソースであるため、Visual Studio に含める必要がある特別な理由はありますか? VS、IMOは、必ずしもディレクトリ構造ではなく、ソリューション内のコードを管理するためのものです。

IIS では、ディレクトリ構造を自分とまったく同じように設定できます (または、仮想ディレクトリがネットワーク ドライブを指すようにすることもできます)。Visual Studio はそれを完全に無視できます。

于 2010-06-22T01:48:56.510 に答える