- - PR -
[ASP.NET]サイトメンテナンス中の処理の簡略化について
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-08-05 16:55
よく、どのサイトでも、データベースのメンテナンスや、サーバの
メンテナンスの実施中に、 『現在、メンテナンス中です・・・』等のメッセージ的な 画面を出すことがありますよね。 [ASP.NET]で管理されているサイトで、メンテ中の 処理、メンテ終了後の再開について、運営上の簡素化を 図るにはどのようなテクニックが楽でしょうか? 知恵を貸してください。宜しくお願いします。 以下の文中ではトップページをindex.aspx,本来のサービスのサイトをservとします。 なお、実際のサイトではデータベースを使用しますが、 servにおいては、データベースは利用しないものとします。 【考えてみた案】 サイト全体でアプリケーション変数( flag ) を持つ。 flag=1ならサービス中、flag=0なら工事中とする。 サイト内の全ページの共通ロジックとして、flag=0なら常に index.aspxへ強制リダイレクトする処理を入れておく。 index.aspxではflag=0なら、メンテナンス中の案内を出す。 ただ、アプリケーション変数をWeb.Configから読み出すとすると、 IISをリスタートしないといけないだろうし、 リスタートが不可なら、flag = 1⇒0にする専用のページを 作っておかないといけないですよね。 【考えてみた案その2】 トップページとしてindex.aspxの他、 別途、工事中であることを示す静的なindex.htmを用意しておいて、 IIS全体のフィルタマッピング (ちょっと今名前を度忘れしましたがISAPIでしたっけ) では、aspxを禁止する。 (実際にはその他、jpgなども禁止する必要があると思いますが、 基本的な考え方としてaspxを禁止) サイトのデフォルトページをindex.htmに設定し、メンテナンス 終了後、index.aspxに変更する。 | ||||
|
投稿日時: 2004-10-08 12:19
global.asaxで定義してしまうというのはいかがでしょうか?
セッションの開始と同時にメンテナンスのお知らせページに移動するように すれば、ブックマークなどでの飛び込みにも対処できると思うのですが。 サンプルは...こんな感じでしょうか。 有無を言わさずMSFTページに飛びます。 これをメンテナンスのお知らせページに移動するようにすればOKです
_________________ Mooは牛の鳴き声。 [ メッセージ編集済み 編集者: Moo 編集日時 2004-10-08 12:26 ] | ||||
1
