2

今週の初めから、ASPでWebサイトを開発する方法を学び始める必要がありました。私はXNAを介したC#の経験が中程度なので、その一部は私にとってそれほど問題ではありません。

「ASP.NETMVC3」アプリケーションをセットアップするためのミュージックストアチュートリアルに従っています。

チュートリアルはもう終わり、ローカルでテストを実行するとサイトが機能しますが、アップロードする必要のあるファイルがわかりません。以前にASPWebサイトのフロントエンドの更新に取り組んだことがありますが、サイトを構成するファイルなどの点で、これとはまったく異なります。

.aspx私のプロジェクトには、ASPサイトが経験から作られていると思っていたページが1つもありません。これらのプロジェクトはMVCプロジェクトではなく、「ASP.NETWebアプリケーション」スタイルのプロジェクトであると私は考え始めています。

ASP.NETとASP.NETMVCは異なりますか?私が漠然と理解していることから、MVCはASP.NETをラップする単なるフレームワークですか?また、ASPは何かですか、それともASP.NETの同義語ですか?最後に、最初の混乱に戻りますが、ASP.NET MVCプロジェクトを起動するときに、サーバーにアップロードするファイルは何ですか?

このディレクトリ全体をアップロードするだけで、サーバーは組み込みのテスト用ASPサーバーと同じように処理しますか?または、サイトをいくつかのファイルにコンパイルして、これらのディレクトリの1つをアップロードするだけです(どこかで読んだと思います)。

ここに画像の説明を入力してください

4

3 に答える 3

4

ASP は、Active Server Pages の頭字語です。.NET より前の ASP は、Microsoft の最初の反復スクリプト Web ページでした。通常、これらのページはすべて拡張子 .ASP で終わります。

.NET がリリースされたとき、ASP は大幅に見直され、ASP.NET に名前が変更されました。ASP.NET の新しいバージョンでは、コントロールとイベント処理モデルを使用する Windows アプリケーション開発と同様の Web 開発をモデル化しようとしました。これは、長年にわたって Microsoft の Web ページ開発の主要なモデルであり、現在もサポートされていますが、今日では ASP.NET Web フォームと呼ばれています。通常、ASP.NET Web フォーム ページには、前述の .ASPX 拡張子が付いています。

2000 年代半ば頃、Web アプリケーションの開発に MVC ベースのモデルを使用して、Ruby on Rails が離陸しました。数年後、Microsoft は ASP.NET MVC と呼ばれる ASP.NET の代替バージョンをリリースしましたが、これは同様の概念を使用していました。多くの人は、MVC アプローチが Web フォーム モデルよりも Web ページを開発するためのより自然な方法であると感じています (数年前にこのサイトに投稿された壮大な Q/A スレッドに注意してください)。いずれにせよ、ASP.NET MVC は ASP.NET Web フォームと一部を共有していますが、見た目も動作もかなり異なります。1 つには、MVC として .ASPX ページがありません。ほとんどの場合、MVC は別の形式のルーティングを使用して何を表示するかを決定します。

それは非常に短い歴史であり、多くの主題を網羅しています. スクリーンショットを投稿したのは、ASP.NET MVC プロジェクトです。

パブリッシュに関する限り、ASP.NET Web サイトをパブリッシュする一般的な方法は、Visual Studio でプロジェクトを開き、[ビルド]、[パブリッシュ] の順に選択して、VS に配置する場所を指示することです。使用する方法によっては、サイトを公開したボックスの IIS で追加の構成を行う必要がある場合があります。

于 2012-07-25T00:54:50.840 に答える
1

まず、あなたが言うときASP、あなたは古い(時代遅れの)技術を指しているのです。ASP.NETは、具体的には質問で言及しているものです。

ASP.NETは、IISサーバーと連携して動作し、Webサイトで「Windowsアプリケーション」タイプのエクスペリエンスを提供するMicrosoftテクノロジです。Webサイトのロジックは、.NETDLLの「クラスライブラリ」にコンパイルされます。Web要求がアプリケーションディレクトリと一致するURLでIISに到達すると、IISはアプリケーションを内部的に起動し、それを維持します。

どのファイルをアップロードする必要があるのか​​わかりません

Visual Studioには、実際に使用できるパブリッシャーが組み込まれています。Build -> PublishVS /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 -> PublishVisualStudioのメニューを使用することをお勧めします。ホストがサポートしている場合は使用web deployできますが、FTPおよびファイルシステムの方法も使用できます。

このbinフォルダーには、サーバーでWebアプリケーションを実行するために必要なクラスライブラリが含まれています。このweb.configファイルは、そうするための構成を提供します。ただし、ビューはアセンブリにコンパイルされません。それらは現状のまま公開され、ビューエンジンによって遅延レンダリングされます。

于 2012-07-25T04:31:43.080 に答える
1

おそらく、ASP.NET WebForms に精通しているでしょう。これは MVC プロジェクトです。ここで詳細を見つけることができます:

ASP.NET MVC

サイトをアップロードするには、Web サイトを Visual Studio 内からローカル ファイルの場所に発行してから、すべてを Web サイトにアップロードする必要があります。

ターゲット サーバーに MVC がインストールされていない場合は、Visual Studio で Web サイト プロジェクトを右クリックし、[デプロイ可能な依存関係の追加] を選択します。

これにより、MVC プロジェクトを実行するために必要なすべてのファイルがサーバーにあることが保証されます。

于 2012-07-25T02:08:55.423 に答える