まず、あなたが言うときASP
、あなたは古い(時代遅れの)技術を指しているのです。ASP.NETは、具体的には質問で言及しているものです。
ASP.NETは、IISサーバーと連携して動作し、Webサイトで「Windowsアプリケーション」タイプのエクスペリエンスを提供するMicrosoftテクノロジです。Webサイトのロジックは、.NETDLLの「クラスライブラリ」にコンパイルされます。Web要求がアプリケーションディレクトリと一致するURLでIISに到達すると、IISはアプリケーションを内部的に起動し、それを維持します。
どのファイルをアップロードする必要があるのかわかりません
Visual Studioには、実際に使用できるパブリッシャーが組み込まれています。Build -> Publish
VS /WebDeveloperのメニューを参照してください。
プロジェクトに.aspxページが1つも表示されません。これは、ASPサイトが経験から作成されたものであると想定したものです。
ASP.NET Webフォームは、フロントエンドレンダリングコンポーネントであるPagesのaspx拡張機能を使用します。一方、ASP.NET MVCは、特定のコンポーネントに依存しないビューの概念を使用します。次の段落を参照してください。
ASP.NETとASP.NETMVCは異なりますか?
はい。いいえ、たぶん。ASP.NETには、IIS(Webサーバー)がWebアプリケーションを実行してWebページを提供できるようにするすべての「魔法」が含まれています。ボリュームはこれに書かれている可能性があります(そして書かれています)。ASP.NETは、Httpモジュールとプロバイダーを使用した多くの構成もサポートしています。これらのコンポーネントは、Webアプリweb.config
ファイルを介して宣言および構成され、通常、IISおよびASP.NETによって自動的に作成および永続化されます。それらは集合的に、ASP.NETを箱から出してすぐに機能させる接着剤を構成します。
MVCは、ASP.NETの既存の基盤クラスの上に構築されました。model-view-controllerパターンをサポートするために、いくつかの機能が貸与され、いくつかが置き換えられ、少数以上が作成されました。
たとえば、MVCはView Engines
、ビュー(Webページ)を特定の形式で記述できるランタイムライブラリのサポートを提供します。ASPX View Engineは、MVCの起動時に存在していました。.cshtml
その後、拡張機能を採用したRazorが登場しました。MVCフレームワークのユーザーは、さまざまな独自のビューエンジンも実装しています。これは、ASP.NETとMVCのモジュール性により可能です。
このディレクトリ全体をアップロードするだけで、サーバーは組み込みのテスト用ASPサーバーと同じように処理しますか?または、サイトをいくつかのファイルにコンパイルして、これらのディレクトリの1つをアップロードするだけです(どこかで読んだと思います)。
Build -> Publish
VisualStudioのメニューを使用することをお勧めします。ホストがサポートしている場合は使用web deploy
できますが、FTPおよびファイルシステムの方法も使用できます。
このbin
フォルダーには、サーバーでWebアプリケーションを実行するために必要なクラスライブラリが含まれています。このweb.config
ファイルは、そうするための構成を提供します。ただし、ビューはアセンブリにコンパイルされません。それらは現状のまま公開され、ビューエンジンによって遅延レンダリングされます。