すべてのサイトのサイト既定値 <siteDefaults>

  • 概要
  • 互換性
  • セットアップ
  • 方法
  • 構成
  • サンプル コード

※本ページに挿入されている画像をクリックすると、画像全体が別ウィンドウで表示されます。

概要

<siteDefaults> 要素は、サーバー上のすべてのサイトの既定の設定を指定します。これらの設定は、すべての Web サイトに対して、インターネット インフォメーション サービス (IIS) 7.0 のスキーマの既定値と異なるオプションを指定する場合に役立ちます。

: 特定のサイトにおいて <siteDefaults> セクションと <sites> セクションの両方で同じ属性または子要素が構成されている場合、そのサイトでは <sites> セクションの構成が使用されます。

互換性

  IIS 7.0 IIS 6.0
説明 <sites><siteDefaults> は IIS 7.0 で新たに導入された要素です。 <siteDefaults> 要素は、IIS 6.0 メタベースにおける W3SVC レベルでの既定の Web サイトのオプションと同様の役割を果たします。

セットアップ

<sites> 要素の <siteDefaults> 要素は、IIS 7.0 の既定のインストールに含まれています。

方法

サーバーにおけるサイトの既定値を構成する方法

  1. タスク バーの [スタート] ボタンをクリックして、[管理ツール] をポイントし、[インターネット インフォメーション サービス (IIS) マネージャー] をクリックします。

  2. [接続] ウィンドウで、対象のサーバー名を展開し、[サイト] をクリックします。

  3. サーバーの [サイト] ウィンドウで、[操作] ウィンドウにある [Web サイトの既定値の設定] をクリックします。

    拡大

  4. [Web サイトの既定値] ダイアログ ボックスで、すべての Web サイトの既定となるオプションを指定して、[OK] をクリックします。

    拡大

構成

属性

属性 説明
id オプションの uint 属性。

サイトの作成時に IIS によって割り当てられるランダムな数値識別子を指定します。

既定の Web サイトの数値は 1 です。その他の Web サイトは複数の数字で構成された乱数が割り当てられます。
name オプションの string 属性。

一意に Web サイトを識別するフレンドリ名を指定します (例 : "Contoso HR Forms")。
serverAutoStart オプションの Boolean 属性。

管理サービスの開始時に自動的にサイトを開始するかどうかを指定します。

既定値は true です。

子要素

要素 説明
bindings オプションの要素。

サイトにアクセスするための既定のバインドを指定します。
limits オプションの要素。

帯域幅、接続数、またはサイトへの接続時間に関する既定の制限を構成します。
logFile オプションの要素。

サイトのログ ファイルの処理および保存に関する既定の設定を構成します。
traceFailedRequestsLogging オプションの要素。

サイトの失敗した要求トレースのログ記録に関する既定の設定を指定します。

構成サンプル

次の構成サンプルでは、IIS 7.0 のログ記録、接続のタイムアウト、失敗した要求トレースの既定のオプションを指定します。

<system.applicationHost>
   <sites>
      <siteDefaults>
         <logFile logFormat="W3C"
            directory="%SystemDrive%\inetpub\logs\LogFiles"
            enabled="true" />
         <traceFailedRequestsLogging enabled="true"
            directory="%SystemDrive%\inetpub\logs\FailedReqLogFiles"
            maxLogFiles="20" />
         <limits connectionTimeout="00:01:00" />

      </siteDefaults>
   </sites>
</system.applicationHost>

サンプル コード

次のコード サンプルでは、IIS 7.0 のログ記録、接続のタイムアウト、失敗した要求トレースの既定のオプションを構成します。

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.limits.connectionTimeout:"00:02:00" /commit:apphost

appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.enabled:"True" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.logFormat:"W3C" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.directory:"%SystemDrive%\inetpub\logs\LogFiles" /commit:apphost

appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.traceFailedRequestsLogging.enabled:"True" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.traceFailedRequestsLogging.directory:"%SystemDrive%\inetpub\logs\FailedReqLogFiles" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.traceFailedRequestsLogging.maxLogFiles:"20" /commit:apphost

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection sitesSection = config.GetSection("system.applicationHost/sites");
         ConfigurationElement siteDefaultsElement = sitesSection.GetChildElement("siteDefaults");

         ConfigurationElement limitsElement = siteDefaultsElement.GetChildElement("limits");
         limitsElement["connectionTimeout"] = TimeSpan.Parse("00:02:00");

         ConfigurationElement logFileElement = siteDefaultsElement.GetChildElement("logFile");
         logFileElement["logFormat"] = @"W3C";
         logFileElement["directory"] = @"%SystemDrive%\inetpub\logs\LogFiles";
         logFileElement["enabled"] = true;

         ConfigurationElement traceFailedRequestsLoggingElement = siteDefaultsElement.GetChildElement("traceFailedRequestsLogging");
         traceFailedRequestsLoggingElement["enabled"] = true;
         traceFailedRequestsLoggingElement["directory"] = @"%SystemDrive%\inetpub\logs\FailedReqLogFiles";
         traceFailedRequestsLoggingElement["maxLogFiles"] = 20;

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")
      Dim siteDefaultsElement As ConfigurationElement = sitesSection.GetChildElement("siteDefaults")

      Dim limitsElement As ConfigurationElement = siteDefaultsElement.GetChildElement("limits")
      limitsElement("connectionTimeout") = TimeSpan.Parse("00:02:00")

      Dim logFileElement As ConfigurationElement = siteDefaultsElement.GetChildElement("logFile")
      logFileElement("logFormat") = "W3C"
      logFileElement("directory") = "%SystemDrive%\inetpub\logs\LogFiles"
      logFileElement("enabled") = True

      Dim traceFailedRequestsLoggingElement As ConfigurationElement = siteDefaultsElement.GetChildElement("traceFailedRequestsLogging")
      traceFailedRequestsLoggingElement("enabled") = True
      traceFailedRequestsLoggingElement("directory") = "%SystemDrive%\inetpub\logs\FailedReqLogFiles"
      traceFailedRequestsLoggingElement("maxLogFiles") = 20

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST");
var siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults");

var limitsElement = siteDefaultsElement.ChildElements.Item("limits");
limitsElement.Properties.Item("connectionTimeout").Value = "00:02:00";

var logFileElement = siteDefaultsElement.ChildElements.Item("logFile");
logFileElement.Properties.Item("logFormat").Value = "W3C";
logFileElement.Properties.Item("directory").Value = "%SystemDrive%\\inetpub\\logs\\LogFiles";
logFileElement.Properties.Item("enabled").Value = true;

var traceFailedRequestsLoggingElement = siteDefaultsElement.ChildElements.Item("traceFailedRequestsLogging");
traceFailedRequestsLoggingElement.Properties.Item("enabled").Value = true;
traceFailedRequestsLoggingElement.Properties.Item("directory").Value = "%SystemDrive%\\inetpub\\logs\\FailedReqLogFiles";
traceFailedRequestsLoggingElement.Properties.Item("maxLogFiles").Value = 20;

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults")

Set limitsElement = siteDefaultsElement.ChildElements.Item("limits")
limitsElement.Properties.Item("connectionTimeout").Value = "00:02:00"

Set logFileElement = siteDefaultsElement.ChildElements.Item("logFile")
logFileElement.Properties.Item("logFormat").Value = "W3C"
logFileElement.Properties.Item("directory").Value = "%SystemDrive%\inetpub\logs\LogFiles"
logFileElement.Properties.Item("enabled").Value = True

Set traceFailedRequestsLoggingElement = siteDefaultsElement.ChildElements.Item("traceFailedRequestsLogging")
traceFailedRequestsLoggingElement.Properties.Item("enabled").Value = True
traceFailedRequestsLoggingElement.Properties.Item("directory").Value = "%SystemDrive%\inetpub\logs\FailedReqLogFiles"
traceFailedRequestsLoggingElement.Properties.Item("maxLogFiles").Value = 20

adminManager.CommitChanges()