私の会社の他の開発者の 1 人が .NET 2.0 Web サイトを作成しました。彼は、ソリューション、プロジェクト、ソースなど、すべてを "inetpub\AppName" (IIS 共有) 内に保存します。私はこれが以前に行われたのを見たことがありません。実際、ウェブサイトがブラウザに読み込まれることに少し驚いています。Visual Studio 2010 のプロジェクト フォルダーにソリューションを保存してから、Web サイトを inetpub に公開する (セキュリティ、速度など) ことよりも、これを行うことに不利な点はありますか? また、なぜこれが機能するのですか?
5 に答える
サイトはその場でコンパイルされるため、機能します。これはパフォーマンスの観点からは良くなく (コンパイルが遅いため)、セキュリティの観点からも良くありません (必要以上にコードを公開しています)。
MSDNから
ASP.NET は最初のユーザー要求で Web サイトをコンパイルするため、アプリケーションのソース コードを運用 Web サーバーにコピーするだけで済みます。ただし、ASP.NET には、Web サイトを展開する前にコンパイルしたり、展開した後でユーザーが要求する前にコンパイルしたりできるプリコンパイル オプションも用意されています。プリコンパイルにはいくつかの利点があります
それが機能しない理由はありませんが、一般的には悪い考えだと考えられています。彼は共有サイトで直接開発していますか? それが怖いです。彼がそうでなくても、共有サイトに多くのファイルが置かれていることになります。サーバーはそれらを返さないように構成されている可能性がありますが、それに頼って快適になるべきではありません。
彼のローカル マシンでさえ、それは悪い習慣です。それが公開されたサイトを適切に模倣しておらず、物事をテストするのに悪い場所になる以外の理由がない場合.
Inetpub フォルダーについて特別なことは何もありません。これは慣例により、既定の Web サーバー ルートにすぎません。それがソリューションの一部でもある場合 (プロジェクト ファイルの XML でのみ参照される)、IIS が ASPX ページを表示することを妨げるものは何もありません。IIS を Visual Studio Projects フォルダー内のプロジェクト ディレクトリにポイントすることもできます。
C: にユーザーデータを保存することは、通常は悪い習慣です (特にプログラマーにとって)。私たちのほとんどは、頻繁にバックアップされるか、別のサーバーのソース リポジトリを使用するユーザーデータのみを含むデータ パーティションを持っています。
安全な LAN を使用していて、自分で開発している場合は、InetPub にソリューションを配置してもまったく問題ありません。ただし、同じ IIS を使用して世界に公開する場合は、お勧めしません。誰があなたの貴重な宝石にたどり着くかわかりません。
それは悪い習慣だと思います。コード全体が Web サーバーに翻弄されます。サーバーがハッキングされた場合、コードは無料の報酬です。