設定ファイルの値を読む

次回にでもメール送信を試そうと思うのですが、先に設定ファイル (web.config) の値を読み取る方法を見ておきましょう。

 

以下のコード (web.config) をエディタに入力してください。

   1:  <configuration>
   2:   
   3:      <appSettings>
   4:          <add key="mail.server" value="smtp.gmail.com"/>
   5:          <add key="mail.port" value="25"/>
   6:          <add key="mail.ssl" value="true"/>
   7:      </appSettings>
   8:   
   9:  </configuration>

key と value のペアが三つ、4 ~ 6 行目に有ります。

4 行目。「mail.server の値は何ですか?」という問いに対して「smtp.gmail.com ですよ」と返します。(返すような設定ファイルです)

 

以下のコード (sample8.aspx) をエディタに入力してください。

   1:  <%@ Page Language="C#" %>
   2:   
   3:  <script runat="server">
   4:      void WriteLine(string line)
   5:      {
   6:          string temp = Server.HtmlEncode(line);
   7:          temp = temp + "<br />";
   8:          Response.Write(temp);
   9:      }
  10:  </script>
  11:   
  12:  <html>
  13:  <head>
  14:  <title>sample 8</title>
  15:  </head>
  16:  <body>
  17:  <%
  18:      string s1 = ConfigurationManager.AppSettings["mail.server"];
  19:      WriteLine(s1);
  20:      
  21:      string s2 = ConfigurationManager.AppSettings["mail.port"];
  22:      WriteLine(s2);
  23:      
  24:      string s3 = ConfigurationManager.AppSettings["mail.ssl"];
  25:      WriteLine(s3);
  26:  %>
  27:  </body>
  28:  </html>

4 ~ 9 行目は文字列をページに出力するためのコードです。

6 行目で特殊な文字を置換しています。

たとえば < を &lt; に置換し、> を &gt; に置換します。

8 行目で文字列を出力します。

重要なのは 18 行目です。

ConfigurationManager.AppSettings[ほげほげ] と書けば web.config に書いた key と value のペアが読み取れます。(ほげほげ に対応する value の値が読み取れます)

 

sample8.aspx をサーバーに配置し、ブラウザで表示するとこの様になります。

 

参考になるページ

ConfigurationManager.AppSettings プロパティ (System.Configuration)

HttpServerUtility.HtmlEncode メソッド (String) (System.Web)

HttpResponse.Write メソッド (System.Web)