6

数百ページで構成される既存の従来のASPイントラネットがあります。そのディレクトリ構造は次のようになります...

/root
    app_1
    app_2
    ...
    img
    js
    style

明らかに、app_1などは、実際のディレクトリ構造でより適切な名前を持っています。

多くのアプリケーションは動作が異なりますが、すべて同じイントラネットの一部であるため、/ styleを介したスタイルシート、/ imgを介した画像、および/ jsを介したクライアントスクリプトを含めることで、共通のルックアンドフィールを共有します。

(少なくとも私にとっては)問題は、ASP.NETにイントラネットアプリケーションを追加したいときに発生します。

最終的に、私はこの構造が欲しいです:

/root
    app_1
    app_2
    dotnetapp_1
    dotnetapp_2
    ...
    img
    js
    style

ASP.NETの「アプリケーション」は、自分自身を周囲のすべてのものとは別のものと見なすのが好きなようです(これは、それらがどのようになっているのかを理解しているだけかもしれません)。Visual Studioで新しい「プロジェクト」を作成すると、使用したい実際のルートより1レベル下の新しい「ルート」があるようになります。この新しいアプリケーションは、独自のイメージやスタイルなどを備えた、独立したもののようなものです。ただし、既存のイントラネットのサブパーツにしたいです。

最終的には、従来のASPイントラネット全体を「ルート」にし、/styleと/imgにアクセスできるASP.NET「サブアプリケーション」を作成できるようにしたいと考えています。ASP.NETの場合は/masterpagesを使用すると思います。 。

私は以前にこれを試しましたが、既存のイントラネットルートディレクトリをASP.NETプロジェクトルートにしたときに「プロジェクト」に追加された数百のクラシックASPページでVSが詰まったと思います([ファイル]->[開く]-> Webサイト)。VSをもっと手に入れたいので、VS 2008 SP1(現在は優れたNotepad ++を使用しています)を使用して既存のクラシックASPイントラネットを編集するとよいでしょうが、これは絶対に必要というわけではないと思います。

また、新しいASP.NETアプリケーションをそれぞれそれ自体でアプリケーションとして扱い、/ dotnetapp_1ディレクトリをアプリケーションの「ルート」にしました(VS2008では[ファイル]->[開く]->[Webサイト]を使用)。しかし、VSは、「別のアプリケーションに属している」ために/masterpagesを参照しようとすると文句を言いました。ルート/masterpagesを「指す」各ASP.NETディレクトリ内に仮想ディレクトリを追加することでそれを理解したと思いますが、コピーを作成するのではなく、VSがこれを行ったときにWYSIWYG編集をうまく提供できたかどうかはわかりませんイントラネットに追加するすべてのASP.NETアプリケーションのマスターページの

また、.NET MVCフレームワークにアクセスする可能性が非常に高いので、そのフレームワークを念頭に置いて回答を提供してください。「プロジェクト」がMVCにとってそれほど重要ではなく、全体(イントラネット)に貢献するアプリケーションを作成するのは単なるファイルの集まりであることを願っています。

したがって、問題は次のとおりです。既存の従来のASPイントラネットにASP.NETアプリケーションを最適に追加するにはどうすればよいですか(従来のASPとASP.NET間のセッション共有の技術については気にせず、ディレクトリの構造レイアウトとプロジェクト)、Visual Studio 2008 SP1でこれらの個別のアプリケーションを編集しながら、これらのアプリケーションを共通のイントラネットのルックアンドフィール*によって相互に「関連付け」ますか?

  • 「MasterPagesを使う」という答えを投稿するだけではいけません。MasterPagesは、同じアプリケーション内の関連するページ間でスタイルを(そしておそらく)共有する.NETの方法であることに感謝します。わかりました。私が探しているのは、ASP.NETアプリケーションを既存のイントラネットにできるだけスムーズに追加するための最良の方法です。これにより、各アプリケーションの編集が簡単になり、各アプリケーションが(可能であれば)イントラネット共通のスタイルを共有できるようになります。
4

4 に答える 4

2

ASP.NET は現在 Microsoft 標準の Web 開発プラットフォームであるため、新しい ASP.NET Web サイトから始めて、既存の ASP ページとフォルダーをそこにインポートすることをお勧めします。セットアップして実行すると、ASP.NET に新しい機能を簡単に追加できます。

Microsoft は、一部の顧客が従来の ASP と ASP.NET をしばらくの間混在させることを理解しており、従来の ASP ページを ASP.NET サイト内で機能させることで、このニーズに対応しました。あなたがやろうとしていることは、これの逆 (ASP.NET を ASP 内で動作させることなど) であり、すでに困難に直面しています。

于 2008-10-01T12:25:11.973 に答える
2

1 つの解決策は、IIS マネージャーを使用して Web サイト (Visual Studio によって ASP.NET アプリ用に作成) を構成し、共通フォルダーごとに仮想ディレクトリを追加して、(仮想ディレクトリの「仮想」の性質によって) ASP.NET アプリと同じルート フォルダーに「表示」されます。

/root
  app_1
  app_2
  dotnetapp_1
    <virtual>img
    <virtual>js
  ...
  img
  js
  style

大量にこれを行う必要がある場合は、おそらく IIS をスクリプト化するか、XML ファイルを編集することができます。マウス操作をあまり必要としない、同様のことを行うためのさらに洗練された方法があるはずです!

于 2008-10-01T11:52:07.167 に答える
0

これについては、いくつかの異なる方法があります。

  1. リストされたフォルダー構造が目的の Web フォルダー構造である場合、ASP.NET アプリケーションはどれも /root/js/whatever.js または ../js/whatever.js を参照するだけで、既に作成したフォルダーにアクセスできます。根本にあります。これは、前述の仮想ディレクトリ ソリューションに代わるものです。これは、私の現在の仕事で受け継いだプロジェクトのいくつかが行っている、かなり厄介な解決策です。
  2. 以前の仕事で、ハイブリッド クラシック ASP/ASP.NET アプリケーションを数年間管理していましたが、ルートで ASP.NET Web アプリケーションを作成し、すべての ASP ページをそこに移動しました。作成する「サブアプリケーション」は、この 1 つのプロジェクト内のフォルダーにする必要があります。[VS2008 では ASP ページに色分けがなくなりましたが、これは本当に面倒でした。]
于 2009-05-26T05:56:42.140 に答える
0

asp.net サイトを仮想ディレクトリとして実行できませんか?

www.site.com/dotnetapp/

dotnetapp は完全に別の仮想ディレクトリです。

于 2008-12-12T18:42:45.370 に答える