Asp.NetのWeb.configとGlobal.asax


Asp.NetのWeb.config構成の詳細


1.  ASP.NET 2.0アプリケーションの標準ファイル


        ASP.NET 2.0は、2つのファイルを使用して、サイト全体に適用される構成情報とコードを保存します.この2つのファイルはそれぞれWebです.configとGlobal.asaxファイル.
web.config保存値;Global.asaxはコードを保存する.
  • 1、 Web.configにはサイトの構成設定が含まれています.標準のカスタムエラーページのように.
  • 2、Global.asaxには、サイト全体の任意のページに起因するイベントの処理コードが含まれます.たとえば、ユーザーがサイト(セッションの開始)に初めてアクセスするたびに実行されるコードです.

  •      
    ASP.NETコンフィギュレーションは、強力で操作しやすいXMLベースのコンフィギュレーションシステムです.このコンフィギュレーションシステムは、次の2つのコンフィギュレーションファイルをサポートします.
  • 1、アプリケーション構成----------web.config

  • 1つのアプリケーションは、ルートディレクトリとサブディレクトリで複数作成できます.
  • 2、サーバー配置----------machine.config

  • このファイルには、ASPNET Webアプリケーションで使用されるデフォルトの構成が記録されます.

    1.1 Web.configサイト全体の設定を保存


                     
     
     
    プロファイル形式ASP.NETプロファイルは、XMLベースの純粋なテキストファイルであり、標準的なXMLドキュメント要素(フォーマットが正しいタグ、コメント、テキスト、cdataなど)を含むことができます.このファイルの符号化フォーマットは、ANSI、UTF-8、またはUnicodeであってもよい.システムはコードを自動的に検出します.(web.configと統一)ASP.NET Webアプリケーションサーバ上の任意のディレクトリにあります.各web.configファイルは、構成設定をディレクトリとその下にあるすべての仮想サブディレクトリに適用します.サブディレクトリの設定は、親ディレクトリで指定した設定を任意に書き換えたり変更したりすることができます.ディレクトリとそのサブディレクトリの構成情報が決定され、サブディレクトリの構成情報が親ディレクトリの構成情報を上書きします.
            
    プロファイルの場所
    1、機械全体の
    ルートプロファイル
    WinNT\
    Microsoft.NET\Framework\\config\machine.config,
    コンピュータ全体のデフォルト構成設定を指定します.     
    デフォルトでは、ASP.NET構成IISはブラウザがディレクトリの下のwebをブロックする.configファイルは直接アクセスして、これらのファイルの値が共通にならないことを確認します(これらのファイルにアクセスしようとすると、ASP.NETは403:Access Forbiddenを返します).
           2 、
    運転時、ASP.NETは、リモートの各URL要求に基づいて一意の設定セットを階層的に計算します(アクセスパスの下のすべてのweb.configファイルを重ねて、一意の構成セットを生成します.これらの設定は一度だけ計算され、後の要求間でキャッシュされます.ASP.NETはファイルの変更を自動的に監視し、いずれかの構成ファイルが変更された場合はキャッシュを無効にします[再計算?]).
    例えばURL[url]http://xxx.xxx.xxx/default.aspx[/url]のASPNETへのアクセスは、次の順序で最終的な構成が決定されます.
    1 . 1、 ~\Microsoft.NET\Framework\v.x.xx\CONFIG\web.config[デフォルトプロファイル]
    2 . 2、~\WebApp\web.config[アプリケーションの構成]
    3.  3、 ~\WebApp\SubDir\web.config[自分の個性構成]
    4.   4、  ……
     
              【
    Webの場合configファイルは、「Inetpubwwwroot」などのサイトのルートディレクトリの下にあり、そのサイトのすべてのアプリケーションに設定が適用されます.なお、所与のディレクトリまたはアプリケーションルートのweb.configファイルの存在は完全にオプションです.もしweb.configファイルは存在しません.このディレクトリのすべての構成設定は親ディレクトリから自動的に継承されます.

        
     
       
    タグには、通常、3つの異なるタイプの要素が含まれます.1)コンフィギュレーション・セクション・ハンドラ宣言、2)コンフィギュレーション・セクション・グループ、3)コンフィギュレーション・セクション設定.
  • コンフィギュレーションセクションハンドラ――ASP.NETの構成構造はweb.configファイルのファイルフォーマットやサポートされている設定については、仮定は行われません.逆に、webを処理します.configデータのタスクは、コンフィギュレーション・セクションの処理プログラム、すなわち、IConfigurationSectionHandlerインタフェースを実現することに任せる.NETフレームクラス.単一のIConfigurationSectionHandler宣言は、通常machineで1回しか現れない.configファイルにあります.サブディレクトリのweb.configファイルは、この宣言を自動的に継承します.コンフィギュレーションセクションハンドラは、タグにネストするセクションタグ命令を用いてwebにある.configファイルで宣言します.セクションタグは、さらにセクショングループタグによって定義され、論理グループ(以下を参照)に編成されることができる.各セクションタグは、特定の構成データ・セクションを表すタグ名と、そのセクションを処理する関連IConfigurationSectionHandlerクラスを識別します.
  • 配置節グループ――ASP.NET構成では、組織の目的でセクションを階層的にグループ化できます.タグは、タグの内部または他のタグの内部に表示され得る.例えば、ASP.NETセクションのハンドラは全てセクショングループ.
  • 配置節――ASP.NETコンフィギュレーション設定は、コンフィギュレーションタグセクションに表示され、タグ(およびオプションのセクショングループタグ)にネストされます.各構成セクションについては、config階層で適切なセクションハンドラを定義する必要があります.例えば、以下の例では、タグは、HTTPモジュール構成データを定義する構成節である.System.Configuration.HttpModulesConfigurationHandlerクラスは、実行時にタグに含まれる内容を説明します.なお、セクションハンドラ定義とセクションは、同じセクショングループ限定子(ここでは)を有しなければならない.また、タグ名は大文字と小文字を区別し、表示されたまま入力する必要があります.ASP.NETの各種属性と設定も大文字と小文字を区別し、実行時に大文字と小文字が一致しないかどうかを確認しないように構成します.
  • <configuration>
    

    web.configノードは主に3つの方面の情報を保存します:
              
  • 1、開発および導入環境におけるアプリケーション機能の可用性の設定.
  • 2、データベースの読み込みと書き込みに使用する接続文字列を保存します.
  • 3、その他すべての情報を保持するシステム.Webセクション(他のセクションもある)などの設定
  • system.Web設定はいくつかのサブクラスに分けられ、内容が含まれています。
  • 1、ページを他の実行コードのページに向けるhttpモジュール;
  • 2、コンパイル時に開くべきデバッグルーチン;
  • 3、検証技術;
  • 4、Role Manager設定(オン/オフ);
  • 5、匿名識別設定(許可/拒否);
  • 6、エラー処理設定;
  • 7、ナビゲーションとメニュー用のweb.sitemapファイルデータ;
  • 8、ユーザを識別するための構成データ;
  • 9、簡単なメール転送プロトコルの電子メール構成(SMTP);
  • 10、大オブジェクトにおけるオブジェクトの位置を識別するネーミングスペースの定義

  •          
    web.configファイルの変更:(3つの方法)
  • 1、直接VS IDEで手動で修正する;
  • 2、ASPを通過する.NET MMC管理部【IIS MMCに統合】は、
  • の構成と管理を可視化する.
  • 2、[ASP.NET構成]ツールで完成する;

  •       
      web.configファイルの構造:
  • 1、開始および終了フラグを有する
  • 2、それぞれに属性があり、サブノードがある場合もある.
  • 3、コメント;これらのコメントは、各セクションの設定に推奨する.
  • 4、すべての値のリストは~configwebにある.config.commentsのテキストファイル;

  • ……
     

  •  

    1.2  Global.asaxは、サイト全体に使用するコード(メモリコード)を保存します。


    Global.asaxのコードは、次の3つの場合に実行されます.
  • 1、アプリケーション全体が起動または停止した場合.
  • 2、各ユーザがサイトの使用を開始または停止したとき.
  • 3、各ページで発生する可能性のある特殊なイベントに応答する場合.

  • [例:ユーザーのログインまたはエラー]
    これらの状況のそれぞれを
    を選択します.各イベントが発生すると、ASP.NETはGlobalにasaxはイベントの発生を知っており、コードはイベントに応答するために実行されます.
     
    本文は“風雲向”のブログから出て、転載をお断りします!