2

私たちは、会社のビジネスの大部分を処理する内部 Web システムを持っています。何百人ものユーザーが 1 日を通してそれを使用します。これは非常に優先度が高く、常に実行されている必要があります。ASP.NET MVC 2 への移行を検討しています。現時点では、Web フォームを使用しています。Web フォームを使用する利点は、アプリケーション全体を展開するのではなく、単一の Web ページを即座にリリースできることです。

ユーザーがアクセスできるようにしながら、他の人がどのようにアプリケーションを展開しているのか知りたいです。Visual Studio で配置ツールを使用すると、停止する可能性があります。超高速な方法を探しています。

たとえば、優先度の高いバグ修正がある場合は、Web フォームではない次の適切なリリースを作成するまで、Web フォームと MVC を混在させ、代わりにビューをコード ビハインド Web フォームに置き換えるのが賢明でしょうか?

同じサーバー上で同じ Web アプリケーションを並行して実行し、IIS のルート ディレクトリを変更するか、web.config を変更して別のフォルダーを指すようにする他のソリューションも見てきましたが、これに関する問題は次のとおりです。単純なバグ修正であっても、ビルドとデプロイ全体を実行する必要があること。

EDIT :詳しく説明すると、ユーザーに混乱を与えにアプリケーションを展開するにはどうすればよいですか。

他のみんなはどうやってやってるの?

4

3 に答える 3

1

MVC アプリケーションをコンパイルせずに実行できると思いますか? 実行時に .cs/views などを置き換えるだけです。

Web セットアップのアンインストール/インストールは非常に高速ですが、アプリケーション プールが強制終了され、問題が発生する可能性があります。サイトの構築方法によって異なります。

最もスムーズな方法は、2 つのサーバーで実行し、セッションを SQL サーバーまたは共有状態に保存することです。次に、S1 を停止してパッチを適用する => s1 を再び起動し、S2 を停止する => S2 にパッチを適用してから、再び起動します。アルは、コードのセッション部分に大きな変更を加えると、これが機能しない可能性があると考えました.

于 2009-11-12T10:28:33.067 に答える
0

それぞれが IIS を実行し、サイトのコピーをホストする 2 つの物理サーバーを持つことができます。または、同じサーバー上の異なる IIS エンドポイントでサイトの 2 つのコピーを実行することもできます。いずれにせよ、本番環境では少なくとも 2 つのサイトのコピーが必要になります。

私はこれを A<->B スイッチ方式と呼んでいます。

まず、各本番サイトを異なる IP アドレスに配置します。会社の DNS で、IP の 1 つにエントリ セットを追加し、非常に短い TTL を設定します。次に、サイト B を更新し、IP アドレスを入力してサイトを事前テスト/ウォームアップすることもできます。準備が整ったら、DNS を新しいサイト B に切り替えます。TTL が切れたら、サイト A を停止して更新できます。

共有セッション状態を使用すると、サイト間のユーザーの移行を最小限に抑えることができます。

于 2010-07-15T22:39:54.523 に答える
0

複数のサーバーで Web サイトの複数のインスタンスを実行します。そのための最善の方法は、運用環境、テスト環境、および開発環境を用意することです。新しいビルドを作成するたびに、テスト ケースを作成してロードを実行できます。すべてのテストを完了することができれば、バージョンを本番環境に移行できます;)。

于 2009-11-12T09:23:19.070 に答える