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

web.configファイルは、ASP.NETの構成上で複数存在する設定ファイルの1つです。ファイル毎に設定の優先順位が異なり、同じ属性を持つものがあった場合には、優先順位の高いconfigファイルの設定が適用されます。web.configは他のconfigファイルよりも優先度が高く、Webアクセス関連の設定を中心に記述するものです。
- SE
- web.configファイルの中身はどのような設定を記述するべきなんですか?
- PL
- リダイレクトや認証設定などの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>
|
実行結果
- SE
- web.configって、隠れたところでWebアクセスの挙動を制御しているんですね。
- PL
- Webアクセスの共通設定を埋め込んでおくことができますからね。使いこなせれば便利ですよ。
web.configを上手く使って共通設定を制御する
認証が必要なページ構成にする場合や、ページ全体における定数の設定などを制御する場合には、各ページファイルに処理を記述するよりもweb.configに記述する方がスマートになり、間違いや修正が必要になった時の変更も楽になります。Webアクセス関連の共通設定はなるべくweb.configに記述して利用するのが良いでしょう。
Search キーワード検索
Popular 人気の記事
-
【VB.NET入門】DataGridViewの使い方まとめ
公開: 更新:
reccomended おすすめ記事
-
【.NETが統合】.NET 5の概要と今後のリリース予定
公開: 更新:
Categories 連載一覧
Tags タグ一覧
Jobs 新着案件
-
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万円東京都港区(品川駅)