IIS マネージャーを使用した自動開始の構成

このトピックでは、IIS マネージャーを使用してアプリケーションおよびサービスの自動開始を有効にする手順について説明します。また、Web サイトの net.pipe バインドおよびアプリケーションの net.pipe プロトコルを有効にする手順についても説明します。

アプリケーションの自動開始を有効にするには

  1. [スタート] ボタンをクリックし、[すべてのプログラム] をクリックします。次に、[Windows Server AppFabric] をクリックし、[インターネット インフォメーション サービス (IIS) マネージャー] をクリックして、IIS マネージャーを開きます。

  2. [接続] ウィンドウで、アプリケーションを含むサーバーおよびサイトを開き、アプリケーションを選択します。

  3. 操作ウィンドウで、[WCF サービスと WF サービスの管理] という見出しの下にある [構成] をクリックするか、アプリケーションを右クリックして、[WCF サービスと WF サービスの管理] をポイントし、[構成] をクリックします。

  4. [アプリケーションの WCF と WF の構成] ダイアログ ボックスで、[自動開始] をクリックします。

    重要

    自動開始構成機能は、Windows 7 または Windows Server 2008 R2 以降でのみ使用できます。システムにどちらのオペレーティング システムもインストールされていない場合は、どちらかにアップグレードしない限り、自動開始を構成できません。

  5. [自動開始] ダイアログ ボックスで [有効] をクリックすると、アプリケーション内のすべてのサービスに対して自動開始が有効になり、[カスタム] をクリックすると、アプリケーションの各サービスに対して自動開始が個別で有効になり、[無効] をクリックすると、アプリケーション内で自動開始されるサービスがなくなります。

  6. アプリケーションのアプリケーション プールが AlwaysRunning に設定されていない場合、ポップアップ ダイアログに "このアプリケーションまたはサービスのアプリケーション プールでは、アプリケーションまたはサービスを正しく自動開始するために、startMode が AlwaysRunning に設定されている必要があります。変更の適用時にアプリケーション プールの startMode に設定しますか?" というメッセージのポップアップ ダイアログが表示されます。アプリケーション プールの startMode を AlwaysRunning に設定するには [はい] をクリックし、次に [OK] をクリックします。

    アプリケーションの自動開始機能は、アプリケーションによって使用されるアプリケーション プールの startModeAlwaysRunning に設定した場合にのみ動作します。このダイアログ ボックスで [OK] をクリックすると、アプリケーションが使用するアプリケーション プールの startMode の値が AlwaysRunning に設定されます。この属性は、IIS 構成エディターを使用して設定することもできます。アプリケーション プールの startMode を AlwaysRunning に設定すると、アプリケーション プールのすべてのアプリケーションが再起動することに注意してください。

  7. [OK] をクリックします。

    アプリケーションの自動開始設定はアプリケーションの Web.config ファイルではなく、サーバーの ApplicationHost.config ファイルで定義されます。アプリケーションの自動開始は、アプリケーション レベルで表示される構成ダイアログ ボックスでローカルに構成しますが、設定は ApplicationHost.config ファイルにあります。次に構成の例を示します。

    <application path="/MyWorkflowService" 
                applicationPool="MyWorkflowServiceAppPool" 
                enabledProtocols="http,net.pipe"
                serviceAutoStartEnabled="true"
                serviceAutoStartProvider="Service"
                serviceAutoStartMode="All">
    

    アプリケーションのすべてのサービスの自動開始を有効にすると、ApplicationHost.config ファイルでそのアプリケーションの serviceAutoStartMode 属性の値が "all" に設定されます。モードを [カスタム] に設定すると、serviceAutoStartMode 属性の値は "custom" に設定されます。これらのどちらかの操作を行うと、アプリケーションがまだ実行している (つまり、プロトコルが有効である) 場合は、ApplicationHost.config ファイルに serviceAutoStartEnabled が追加されて、値が "true" に設定されます。アプリケーションが実行していない場合は、serviceAutoStartEnabled は false に設定されます (意図的に停止されたアプリケーションが誤って開始しないように)。

    重要

    アプリケーション プールの autoStart 属性と startMode 属性は異なるものです。startMode 属性は、Microsoft AppFabric 1.1 for Windows Server の自動開始機能が使用します。アプリケーション プールの [アプリケーション プールの編集] ダイアログ ボックスの [アプリケーション プールを直ちに開始する] 属性または [詳細設定] ダイアログ ボックスの [自動的に開始] 設定は、startMode 属性ではなく autoStart 属性を構成します。

    警告

    アプリケーション プールのマネージ パイプライン モードが "統合" を使用するように構成されていること、および .NET Framework Version 4 を使用することを、確認する必要があります。

サービスの自動開始を有効にするには

  1. [スタート] ボタンをクリックし、[すべてのプログラム] をクリックします。次に、[Windows Server AppFabric] をクリックし、[インターネット インフォメーション サービス (IIS) マネージャー] をクリックして、IIS マネージャーを開きます。

  2. [接続] ウィンドウで、アプリケーションを含むサーバーおよびサイトを開き、アプリケーションを選択します。

  3. アプリケーションに対する自動開始値を適切に設定します。サービスに対して自動開始を有効にするには、自動開始モードが [カスタム] に設定され、アプリケーション プールの startMode が AlwaysRunning に設定されている必要があります。詳細については、このトピックの「アプリケーションの自動開始を有効にするには」を参照してください。

  4. 機能ビューで、[サービス] アイコンをダブルクリックします。

  5. 自動開始を有効にするサービスを選択し、操作ウィンドウで [構成] をクリックするか、アプリケーションを右クリックし、ショートカット メニューから [構成] をクリックします。

  6. [サービスの構成] ダイアログ ボックスで [自動開始] をクリックします。

  7. [自動開始] ダイアログ ボックスで [有効にする] をクリックして、サービスの自動開始を有効にします。サービスの自動開始を有効にすると、アプリケーションの Web.config ファイルには、サービスの serviceAutoStart 属性に serviceAddress の行が追加されます。次に構成の例を示します。

        <microsoft.applicationServer>
            <hosting>
                <serviceAutoStart>
                    <add relativeVirtualPath="Service1.xamlx" />
                </serviceAutoStart>
            </hosting>
        </microsoft.applicationServer>
    

    自動開始モードが [無効] に設定されているアプリケーションに属するサービスでは、[有効にする] チェック ボックスはオフになっており、選択できません。アプリケーションの自動開始モードが [有効] に設定されている場合、[有効にする] チェック ボックスが選択され、使用可能になります。サービスの自動開始を有効にするには、アプリケーションの自動開始モードを [カスタム] に設定する必要があります。アプリケーションの自動開始が有効または無効になっているとき、アプリケーション内のすべてのサービスの自動設定がアプリケーションの自動開始設定から継承されます。アプリケーションの自動開始を設定するには、このトピックの前の「アプリケーションの自動開始を有効にするには」セクションに戻ってください。

  8. [OK] をクリックします。

    ヒント

    サービスを仮想ディレクトリではなく Web サイトのルート ディレクトリに追加する場合、そのサービスはカスタム アプリケーションではなく既定のアプリケーションに関連付けられます。サービスが既定のアプリケーションに関連付けられている場合、IIS マネージャーの拡張機能でサービスに自動開始を構成することはできません。これは、既定のアプリケーションの自動開始は無効に設定されており、変更できないためです。

IIS マネージャーを使用してアプリケーション プールの startMode 属性を設定するには

  1. IIS マネージャーの [接続] ウィンドウで、コンピューター名をクリックします。

  2. [機能ビュー] がアクティブでない場合は、このビューに切り替えます。

  3. [機能ビュー] の [管理] セクションにある [構成エディター] をダブルクリックします。

  4. "セクション" フィールドの下矢印をクリックし、system.applicationhost を展開して、[アプリケーション プール] をクリックします。

  5. [(コレクション)] をクリックし、カウントが表示されるフィールドの横の省略記号 ([...]) をクリックします。

  6. [コレクション エディター] エディターで、startMode 属性を構成するアプリケーション プールを選択します。

  7. 下部の [プロパティ] ウィンドウで、[startMode] 属性の値を [AlwaysRunning] に設定します。

サイト レベルで net.pipe バインドを有効にするには

  1. ヒント

    Microsoft AppFabric 1.1 for Windows Server は WCF サービスであるサービス管理サービスを、serviceManagement 属性が有効になっているアプリケーションすべてに追加します。既定では、この属性は有効になっています。このサービスを使用するには、Web サイトに対して net.pipe バインドが有効になっていて、アプリケーションに対してその net.pipe プロトコルが有効になっている必要があります。これらの設定が有効になっていない場合、自動開始機能でこのサービスは開始されず、イベント ログにエラー メッセージが書き込まれます。このサービスの詳細については、「サービス管理サービス」を参照してください。

    IIS マネージャーでサイト名を右クリックし、[バインドの編集] をクリックして [サイト バインド] ダイアログ ボックスを開きます。

  2. [サイト バインド] ダイアログ ボックスに net.pipe バインドが表示されない場合は、[追加] をクリックして [サイト バインドの追加] ダイアログ ボックスを開きます。

  3. [サイト バインドの追加] ダイアログ ボックスで、"種類" フィールドに net.pipe を選択し、"バインド" フィールドに「*」と入力します。

  4. [OK] をクリックして [サイト バインドの追加] ダイアログ ボックスを閉じ、[閉じる] をクリックして [サイト バインド] ダイアログ ボックスを閉じます。

アプリケーションの net.pipe プロトコルを有効にするには

  1. IIS マネージャーで、サービスが含まれるアプリケーションの名前を右クリックします。

  2. [アプリケーションの管理] をポイントし、[詳細設定] をクリックして起動します。

  3. [詳細設定] ダイアログ ボックスで、"有効なプロトコル" フィールドの値に「,」 (コンマ) 記号およびそれに続く「net.pipe」を追加します。

  4. [OK] をクリックして [詳細設定] ダイアログ ボックスを閉じ、[閉じる] をクリックして [サイト バインド] ダイアログ ボックスを閉じます。

自動開始を有効または無効にするには、次の条件に該当する必要があります。

  • Windows 7 または Windows Server 2008 R2 オペレーティング システムを使用している必要があります。自動開始タブは、Windows Vista、R2 以前の Windows Server 2008 など、他のオペレーティング システムでは利用できません。

  • IIS マネージャーを使用してアプリケーションの自動開始をリモートで構成する場合、サイトまたはアプリケーション レベルではなく、サーバー レベルで接続する必要があります。その後、設定を ApplicationHost.config ファイルにサーバー レベルで適用できるようになります。これはアプリケーションでは必須です (リモートで接続しているサービスではどのレベルでも自動開始を構成できます)。

  • アプリケーション レベルで自動開始を有効にする場合、アプリケーションが使用するアプリケーション プールの startMode が AlwaysRunning に設定されているときにのみ、そのアプリケーションに対して自動開始が動作します。

  • 自動開始をサービス レベルで構成できるのは、そのサービスを含むアプリケーションに対して自動開始が有効であり、アプリケーション モードがカスタムに設定されている場合のみです。アプリケーション モードがすべてに設定されている場合 (アプリケーションの自動開始が有効)、アプリケーション内のすべてのサービスの自動開始設定がアプリケーションの自動開始設定から継承されます。サービスの自動開始を有効にし、対応するアプリケーション プールの startMode が AlwaysRunning に設定されていない場合、アプリケーション プールの startMode を AlwaysRunning に設定する必要があることを示す警告が表示されます。

  • サービスを仮想ディレクトリではなく Web サイトのルート ディレクトリに追加する場合、そのサービスはカスタム アプリケーションではなく既定のアプリケーションに関連付けられます。サービスが既定のアプリケーションに関連付けられている場合、IIS マネージャーの拡張機能でサービスに自動開始を構成することはできません。これは、既定のアプリケーションの自動開始は無効に設定されており、変更できないためです。

  • IIS Manager の Web サイトの [詳細設定] ダイアログ ボックスには、[自動的に開始] という名前のプロパティが含まれています。このプロパティは開始する関連したアプリケーション プールに対して [True] に設定されている必要があります。[False] に設定されていると、アプリケーション プールに対して自動開始が有効に設定されていても、アプリケーション プールは開始されません。ただし、[自動的に開始] が [True] に設定されている場合、アプリケーション プールに対する自動開始は有効 ([AlwaysRunning] に設定) または無効にできます。[自動的に開始] を [True] に設定してもアプリケーション プールが必ず自動開始されるわけではありません。自動開始されるようにするには、アプリケーション プールに対して自動開始を有効にし、[自動的に開始] を [True] に設定する必要があります。

  • Microsoft AppFabric 1.1 for Windows Server は WCF サービスであるサービス管理サービスを、serviceManagement 属性が有効になっているアプリケーションすべてに追加します。既定では、この属性は有効になっています。このサービスを使用するには、Web サイトに対して net.pipe バインドが有効になっていて、アプリケーションに対して net.pipe プロトコルが有効になっている必要があります。これらの設定が有効になっていない場合、自動開始機能でこのサービスは開始されず、イベント ログにエラー メッセージが書き込まれます。このサービスの詳細については、「サービス管理サービス」を参照してください。

  2012-03-05