ASP.NETで使うweb.configファイルを作成する方法

web.configファイルは、ASP.NETの構成上で複数存在する設定ファイルの1つです。ファイル毎に設定の優先順位が異なり、同じ属性を持つものがあった場合には、優先順位の高いconfigファイルの設定が適用されます。web.configは他のconfigファイルよりも優先度が高く、Webアクセス関連の設定を中心に記述するものです。
- システム
エンジニア - web.configファイルの中身はどのような設定を記述するべきなんですか?
- プロジェクト
リーダー - リダイレクトや認証設定などのWebアクセス関連のものが主ですね。記述例を見ていきましょう。
web.configファイルの概要
web.configファイルは、XML形式で書かれている設定ファイルで、ASP.NETでWebページに表示する際の設定内容が記述されています。カスタム設定も柔軟に行うことができるので、やり方次第で利便性の高い使い方が可能です。
また、このファイルはASP.NETのルートディレクトリ配下においておく必要があります。主な使い方は特定のURLにアクセスした際に、認証ページなどにリダイレクトする設定や、ファイルに設定した定数を取得して利用するといったことが多いかと思います。
web.configファイルを作成する方法
ASP.NETでweb.configファイルの中身を作成する場合には、configurationタグとsystem.webタグが最低限必要です。これに加えて、system.webタグ以下に各種設定を追加していくことになります。
1 2 3 4 5 6 |
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.web> ※ここに各種設定を追加 </system.web> </configuration> |
次の設定では、localhostのページにアクセスした場合に、test.htmlのページにリダイレクトします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.web> </system.web> <system.webServer> <rewrite> <rewriteMaps> <rewriteMap name="StaticRedirects"> <add key="/webconfig_redirect.html" value="/test.html" /> </rewriteMap> </rewriteMaps> <rules> <rule name="Redirect Rule" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{StaticRedirects:{REQUEST_URI}}" pattern="(.+)" /> </conditions> <action type="Redirect" url="{C:1}" appendQueryString="False" redirectType="Permanent" /> </rule> </rules> </rewrite> </system.webServer> </configuration> |
実行結果
独自の共通設定値を設ける場合には、タグを使ってkeyとvalueを設定します。
1 2 3 4 5 6 |
<?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings> <add key="test_key" value="TEST" /> </appSettings> </configuration> |
読取り側(aspx)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<%@ Page Language="C#" %> <%@ Import Namespace="System" %> <%@ Import Namespace="System.Collections.Generic" %> <%@ Import Namespace="System.Linq" %> <%@ Import Namespace="System.Web" %> <%@ Import Namespace="System.Web.UI" %> <%@ Import Namespace="System.Web.UI.WebControls" %> <%@ Import Namespace="System.Configuration" %> <script runat="server"> protected void Page_Load(Object source, EventArgs e) { string value = ConfigurationManager.AppSettings["test_key"]; Label1.Text = value; } </script> <HTML><BODY> <form id="form1" runat="server"> <div> <asp:Label ID="Label1" runat="server" Text=""/> </div> </form> </BODY></HTML> |
実行結果
- システム
エンジニア - web.configって、隠れたところでWebアクセスの挙動を制御しているんですね。
- プロジェクト
リーダー - Webアクセスの共通設定を埋め込んでおくことができますからね。使いこなせれば便利ですよ。
web.configを上手く使って共通設定を制御する
認証が必要なページ構成にする場合や、ページ全体における定数の設定などを制御する場合には、各ページファイルに処理を記述するよりもweb.configに記述する方がスマートになり、間違いや修正が必要になった時の変更も楽になります。Webアクセス関連の共通設定はなるべくweb.configに記述して利用するのが良いでしょう。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。

-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。


ASP.NET新着案件New Job
Web受注システム運用保守/VB.NET/東京都港区/【WEB面談可】
月給50万~60万円東京都港区(品川駅)Web受注システム開発のテスター/VB.NET/東京都港区/【WEB面談可】
月給25万~35万円東京都港区(品川駅)営業フロントシステム運用保守/ASP.NET/東京都江東区/【WEB面談可】
月給50万~60万円東京都江東区(木場駅)営業フロントシステム開発のテスター/ASP.NET/東京都江東区/【WEB面談可】
月給25万~35万円東京都江東区(木場駅)営業フロントシステム開発/ASP.NET/東京都江東区/【WEB面談可】
月給35万~41万円東京都江東区(木場駅)Web受注システム開発/VB.NET/東京都港区/【WEB面談可】
月給45万~60万円東京都港区(品川駅)