2

私は膨大な数のページを持つ Web サイトを持っており、実動サーバーに事前にコンパイルされたバージョン (名前が固定されている) を保持しています。

コードに変更を加えるたびに、小さな変更のためだけに Web サイト全体を公開する必要があります。

変更を本番サーバーにデプロイする前に、Web サイトを公開するのに約 1 時間かかります。

発行プロセスを高速化するために、ページのバッチのみを発行する方法はありますか?

公開時間を節約する他のオプションはありますか?

注:公開とは、事前コンパイルを意味します

どんな提案でも大歓迎です。

4

5 に答える 5

0

コンパイル時間とWebサイトプロジェクトのサイズを削減する1つの方法は、Webサイトをいくつかのより小さく保守しやすいサイトに分割することです。

これらの個別の公開を本番環境で一緒にデプロイすることもできます。

他のプロジェクトからのページへの参照は完全に機能します。IIS上の同じアプリケーション内のすべてのページは、同じセッションを共有します。したがって、エンドユーザーには、これは1つのWebサイトのように見えます。

特定のモジュールの公開中に実行する作業を減らすため、公開はより高速になります。適切なバッチと見なされるものに従ってモジュールを分割します。

あなたはこれを知っている必要がありますが、私はそれを完成させるためだけに言います。Webサイトを公開すると、オプションが表示されますUse fixed naming and single page assemblies。これを選択すると、binディレクトリのページごとに異なるdllが作成されます。変更を加えたページと対応するdllをアップロードするだけで済みます。アップロード時間が懸念される場合は、これで対処できます。

于 2013-02-12T04:41:03.627 に答える
0

以前の投稿で述べたように、これを自動的に行うことはできませんが、公開時間を短縮したい場合は、ファイルを手動で展開できます。

Web サイトを公開すると、サイトのすべてのコード ファイルが Web サイトの bin フォルダー内の 1 つの .dll ファイルにコンパイルされ、すべての .aspx ファイルが関連するパスに展開されます。

サイトを手動で更新するには、ローカル マシンで Web サイトを構築して、更新された .dll を作成し、運用サーバーの bin フォルダーにある .dll を上書きするだけです。ソース/HTML が実際のページ/.aspx ファイルで変更されている場合は、それらもコピーする必要があります。

手順:

  1. ローカルでウェブサイトを構築する
  2. 実稼働サーバーの .dll をローカルに構築された .dll で上書きする
  3. HTML/ソースが変更された運用サーバーに .aspx ページをコピーします。
于 2013-02-18T12:17:10.750 に答える
0

ページに 3 つのコンポーネント (*.designer、*.aspx、*.cs) があることに気付いた場合、Microsoft は「事前コンパイル」という考えを実際には持っていません。*.cs はすべて *.dll にコンパイルして、Web サイトに展開する必要があります。従来、exe と dll の 2 種類の実行可能ファイルがあります。Asp.Net Web サイトは、サーバー上で実行されるすべての分離コードの dll にコンパイルされます。Microsoft には、dll を「半分」コンパイルしてから、変更していない残りの半分とマージする方法がありません。

ウェブサイトのコンパイルとデプロイに時間がかかる場合。コードの問題よりもアーキテクチャの問題の方が多いことをお勧めします。私が働いているメイン Web サイトは 3,000,000 行以上のコードで構成されており、ユーザーが必要とするすべてのことを実行しています。デプロイに 1 時間もかかりません。ただし、私たちが行ったことは、ビジネス ロジックを 100 以上の dll に分割し、Web サイト プロジェクト自体は、ビジネス ロジックへのフローを駆動するための aspx と必要最小限のコード ビハインドです。これにより、新しい機能をサポートするために変更を加えて x 個の dll を変更できます。変更されたものだけを毎回 100 個すべて展開する必要はありません。これが dll の性質です。ビジネス ロジックが Web サイト プロジェクトに 100% 含まれている場合、コンパイル、

コードを dll にリファクタリングすることを検討したいと考えています。ASPX/ASP.NET ソリューションに慣れていない場合の別のオプションは、ASP/MVC.NET ソリューションを検討することです。サイトのリファクタリングを検討します。それだけの時間がかかる場合、データ アクセスを別の dll に分割できたとしても、Web サイトを変更するたびに、データ アクセスを処理する dll を常にコンパイルして展開する必要はありません。データ アクセス層も変更しました。

于 2013-02-13T05:33:12.613 に答える
0

htmlタグ(サーバー側タグ以外)やcssのみを修正する場合は、修正した部分のみをデプロイできます。

コンパイルされたコードの場合、選択の余地はありません。

Web サイトを公開するのになぜ 1 時間もかかるのか、自問する必要があると思います。コンパイル時間はそんなに長いですか?.

于 2013-01-24T10:59:10.513 に答える
-3

とてもシンプルです。

すべての HTML コンテンツをコードとは別のファイルに格納します。データベースは素晴らしいアイデアです。テキストを変更したり、画像を入れ替えたりするために必要なことは、そのコンテンツのデータベースまたはファイルにアクセスして、いくつかのタグを変更することだけです。私はMySQLをお勧めします。

:)

于 2013-02-16T21:26:15.643 に答える