ASP.NET web.config構成ノードの詳細

11310 ワード

web.configファイル検索ルール:
(1)現在のページが存在するディレクトリの下にwebが存在する場合.configファイルで、検索するノード名が存在するかどうかを確認し、戻り結果が存在する場合は検索を停止します.(2)現在のページが存在するディレクトリの下にwebが存在しない場合.configファイルまたはweb.configファイルにノード名が存在しない場合は、Webサイトのルートディレクトリまで親ディレクトリを検索します.(3)ウェブサイトのルートディレクトリの下にwebが存在しない場合.configファイルまたはweb.configファイルにこのノード名が存在しない場合は%windir%"Microsoft.NET"Framework"v 2.0.50727"CONFIG"web.configファイルで検索します.(4)%windir%"Microsoft.NET"Framework"v2.0.50727"CONFIG"web.configファイルには対応するノードが存在しません.%windir%"Microsoft.NET"Framework"v 2.0.50727"CONFIG"machine.configファイルで検索します.(5)まだ見つからない場合はnullを返します.asp.netアプリケーションの実行中にweb.configファイルが変更されると、対応するアプリケーションシーケンスが再起動し、サーバメモリに格納されているユーザーセッション情報(メモリに格納されているセッションなど)が失われます.
(一)appSetings構成ノード
ノードは主にaspを格納ために用いられる.Netアプリケーションのいくつかの構成情報、例えばアップロードファイルの保存経路など


   

string fileType=ConfigurationManager.AppSettings["FileType "];

(二)ノード
ノードは主にデータベース接続を構成するために使用されます.ノードに任意のノードを追加してデータベース接続文字列を保存し、将来コードでノードの値を動的に取得してデータベース接続オブジェクトをインスタンス化することができます.これにより、配置時にライブラリ接続情報が変化すると、ここの構成を変更するだけでいいです.データベース接続情報の変化により、プログラムコードの変更や再配置を必要とする必要はありません.

 
 

string connectionString = ConfigurationManager.ConnectionStrings["AspNetStudyConnectionString1"].ConnectionString;

(三)ノード
ノード構成ASP.NETが使用するすべてのコンパイル設定.デフォルトのdebugプロパティは「true」です.つまり、デバッグが許可されます.この場合、Webサイトのパフォーマンスに影響を与えるため、プログラムのコンパイルが完了した後、falseに設定します.
(四)ノード
aspを設定します.Net認証モードには、WindowsがWindows認証を使用し、ドメインユーザーまたはローカルエリアネットワークユーザーに適用される4つの認証モードがあります.Formsはフォーム検証を使用して、Webサイト開発者による認証を行います.Passportはマイクロソフトが提供する認証サービスを使用して認証を行います.Noneは認証を行いません.
(五)ノード
ノードは、カスタムエラー情報の情報を定義するために使用されます.このノードには、ModeとdefaultRedirectの2つの属性があります.defaultRedirect属性は、アプリケーションにエラーが発生した場合にリダイレクトされるデフォルトのURLであり、指定されていない場合は一般的なエラーが表示されます.Modeプロパティは必須のプロパティで、3つの可能な値があります.Onは、ローカルユーザーとリモートユーザーでカスタムエラー情報が表示されることを意味します.Offはカスタムエラー情報を無効にし、ローカルユーザーとリモートユーザーに詳細なエラー情報が表示されます.RemoteOnlyは、ローカル・ユーザーが詳細なエラー情報を表示し、リモート・ユーザーがカスタム・エラー情報を表示することを示します.ここでは,ローカルユーザとリモートユーザの概念を説明する必要がある.aspにアクセスするとNetアプリケーションで使用するマシンとaspをパブリッシュする.Netアプリケーションで使用するマシンが同じマシンである場合にローカルユーザとなり,逆にリモートユーザと呼ぶ.開発デバッグフェーズでは、エラーの検出を容易にするためにOffに設定することを推奨します.デプロイメントフェーズでは、これらの詳細なエラー情報がプログラムコードの詳細を暴露し、ハッカーの侵入を引き起こすことを避けるために、ModeプロパティをOnまたはRemoteOnlyに設定する必要があります.
(六)サブノード
ノードの下にはサブノードも含まれています.このノードは主にサーバのHTTPエラーステータスコードに基づいて私たちがカスタマイズしたエラーページにリダイレクトします.サブノードの下の構成を有効にするには、ノードノードのMode属性を「On」に設定する必要があります.次に例を示します.

 
 
 

(七)ノード
ノードは、ユーザが要求したURLおよびHTTP述語に従って、ユーザの要求を対応するプロセッサに渡すために使用される.このノードは、構成レベルの任意の階層で構成できます.つまり、特定のディレクトリで指定した特殊なファイルに対して特殊な処理を行うことができます.


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
  
 
 
 
 

以上の構成から分かるように、*.mdf、*.ldfファイルのGetまたはPostリクエストはSystemに渡す.Web.HttpForbiddenHandlerが処理し,処理の結果,ユーザは関連するファイルを表示またはダウンロードできない.フォルダの下にあるファイルまたはタイプのファイルがユーザーにダウンロードできない場合は、ノードに対応するサブノードを追加できます.次に、ノードの使い方を一例で説明します.私たちのaspです.NetアプリケーションでIPDataディレクトリを作成し、IPDataディレクトリにIPDataを作成する.txtファイル、そしてWeb.configに次の構成を追加します.


 

(九)ノード
ノードはASPに使用する.NET HTTPライブラリ設定を実行します.このセクションでは、コンピュータ、サイト、アプリケーション、およびサブディレクトリ・レベルで宣言できます.例えば、以下の構成制御ユーザが最大でアップロードできるファイルは40 M(40*1024 K)、最大タイムアウト時間は60秒、最大同時要求は100個である


(十)ノード
ノードは、特定のページの設定を表すために使用されます.主にbufferがHTTP応答バッファを有効にしているかどうかの3つのプロパティがあります.EnableViewStateMacは、ページのビューステータスに対してコンピュータ認証チェック(MAC)を実行してユーザーの改ざんを配置すべきかどうか、デフォルトはfalseであり、trueに設定するとパフォーマンスの低下を引き起こす.validateRequestは、ユーザー入力にサイト間スクリプト攻撃とSQL注入型脆弱性攻撃があることを検証しています.デフォルトはtrueで、一致する場合はH t t p RequestValidationException異常が発生します.オンラインテキストエディタが含まれているページでは、一般的にユーザー入力を自己検証し、falseに設定します.


(十一)ノード
ノードは、現在のaspを構成するために使用する.Netアプリケーションのセッションステータス構成.一般的な構成は次のとおりです.


上のノード構成はaspに設定.NetアプリケーションでCookieを有効にし、セッションステータスモードをプロセスに保存するとともに、セッションタイムアウトを30分と指定します.ノードのModeプロパティには、カスタムデータを使用してセッションステータスデータを格納する値の1つがあります.InProcのデフォルト値.asp.Netアシストプロセスは、セッションステータスデータを格納する.Offセッションステータスを無効にします.SQLServerは、プロセス外SQL Serverデータベースを使用してセッションステータスデータを保存します.StateServer使用プロセス外ASP.NET状態サービスは、状態情報を格納する.一般的にデフォルトではInProcモードを使用してセッション状態データを格納します.このモードの利点は、アクセス速度が速く、メモリを消費することが欠点なので、このモードでは大規模なユーザーセッションデータを格納するのは適切ではありません.
(十二)ノード
アプリケーションを構成するためのグローバル設定.このノードには、fileEncodingオプションプロパティのいくつかの重要なプロパティがあります.設定aspx、.asmxと.asaxファイルのストレージ符号化.requestEncodingオプションプロパティ.クライアント要求の符号化を設定、デフォルトはUTF-8である.responseEncodingオプションプロパティ.サーバ側応答の符号化を設定、デフォルトはUTF-8である.以下はaspです.Netアプリケーションのデフォルト構成:


(十三)web.configファイル読み書き

public void SetAppSetting(string key, string value)
{
  AppSettingsSection appSetting = (AppSettingsSection)config.GetSection("appSettings");
  if (appSetting.Settings[key] == null)//        ,    
  {
    appSetting.Settings.Add(key, value);
  }
  else//       ,    
  {
    appSetting.Settings[key].Value = value;
  }
}