IIS マネージャーを使用した自動開始の構成
このトピックでは、IIS マネージャーを使用してアプリケーションおよびサービスの自動開始を有効にする手順について説明します。 また、Web サイトの net.pipe バインドおよびアプリケーションの net.pipe プロトコルを有効にする手順についても説明します。
アプリケーションの自動開始を有効にするには
[スタート] ボタンをクリックし、[すべてのプログラム] をクリックします。次に、[Windows Server AppFabric] をクリックし、[インターネット インフォメーション サービス (IIS) マネージャー] をクリックして、IIS マネージャーを開きます。
[接続] ウィンドウで、アプリケーションを含むサーバーおよびサイトを開き、アプリケーションを選択します。
操作ウィンドウで、[WCF サービスと WF サービスの管理] という見出しの下にある [構成] をクリックするか、アプリケーションを右クリックして、[WCF サービスと WF サービスの管理] をポイントし、[構成] をクリックします。
[アプリケーションの WCF と WF の構成] ダイアログ ボックスで、[自動開始] をクリックします。
重要
自動開始構成機能は、Windows 7 または Windows Server 2008 R2 以降でのみ使用できます。 システムにどちらのオペレーティング システムもインストールされていない場合は、どちらかにアップグレードしない限り、自動開始を構成できません。
[自動開始] ダイアログ ボックスで [有効] をクリックすると、アプリケーション内のすべてのサービスに対して自動開始が有効になり、[カスタム] をクリックすると、アプリケーションの各サービスに対して自動開始が個別で有効になり、[無効] をクリックすると、アプリケーション内で自動開始されるサービスがなくなります。
アプリケーションのアプリケーション プールが AlwaysRunning に設定されていない場合、ポップアップ ダイアログに "このアプリケーションまたはサービスのアプリケーション プールでは、アプリケーションまたはサービスを正しく自動開始するために、startMode が AlwaysRunning に設定されている必要があります。 変更の適用時にアプリケーション プールの startMode に設定しますか?" というメッセージが表示されます。アプリケーション プールの startMode を AlwaysRunning に設定するには [はい] をクリックし、次に [OK] をクリックします。
アプリケーションの自動開始機能は、アプリケーションによって使用されるアプリケーション プールの startMode を AlwaysRunning に設定した場合にのみ動作します。 このダイアログ ボックスで [OK] をクリックすると、アプリケーションが使用するアプリケーション プールの startMode の値が AlwaysRunning に設定されます。 この属性は、IIS 構成エディターを使用して設定することもできます。 アプリケーション プールの startMode を AlwaysRunning に設定すると、アプリケーション プールのすべてのアプリケーションが再起動することに注意してください。
[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 属性は、Windows Server AppFabric の自動開始機能が使用します。 アプリケーション プールの [アプリケーション プールの編集] ダイアログ ボックスの [アプリケーション プールを直ちに開始する] 属性または [詳細設定] ダイアログ ボックスの [自動的に開始] 設定は、startMode 属性ではなく autoStart 属性を構成します。
警告
アプリケーション プールのマネージ パイプライン モードが "統合" を使用するように構成されていること、および .NET Framework Version 4 を使用することを、確認する必要があります。
サービスの自動開始を有効にするには
[スタート] ボタンをクリックし、[すべてのプログラム] をクリックします。次に、[Windows Server AppFabric] をクリックし、[インターネット インフォメーション サービス (IIS) マネージャー] をクリックして、IIS マネージャーを開きます。
[接続] ウィンドウで、アプリケーションを含むサーバーおよびサイトを開き、アプリケーションを選択します。
アプリケーションに対する自動開始値を適切に設定します。 サービスに対して自動開始を有効にするには、自動開始モードが [カスタム] に設定され、アプリケーション プールの startMode が AlwaysRunning に設定されている必要があります。 詳細については、このトピックの「アプリケーションの自動開始を有効にするには」を参照してください。
機能ビューで、[サービス] アイコンをダブルクリックします。
自動開始を有効にするサービスを選択し、操作ウィンドウで [構成] をクリックするか、アプリケーションを右クリックし、ショートカット メニューから [構成] をクリックします。
[サービスの構成] ダイアログ ボックスで [自動開始] をクリックします。
[自動開始] ダイアログ ボックスで [有効にする] をクリックして、サービスの自動開始を有効にします。 サービスの自動開始を有効にすると、アプリケーションの Web.config ファイルには、サービスの serviceAutoStart 属性に serviceAddress の行が追加されます。 次に構成の例を示します。
<microsoft.applicationServer> <hosting> <serviceAutoStart> <add relativeVirtualPath="Service1.xamlx" /> </serviceAutoStart> </hosting> </microsoft.applicationServer>
自動開始モードが [無効] に設定されているアプリケーションに属するサービスでは、[有効にする] チェック ボックスはオフになっており、選択できません。 アプリケーションの自動開始モードが [有効] に設定されている場合、[有効にする] チェック ボックスが選択され、使用可能になります。 サービスの自動開始を有効にするには、アプリケーションの自動開始モードを [カスタム] に設定する必要があります。 アプリケーションの自動開始が有効または無効になっているとき、アプリケーション内のすべてのサービスの自動設定がアプリケーションの自動開始設定から継承されます。 アプリケーションの自動開始を設定するには、このトピックの前の「アプリケーションの自動開始を有効にするには」セクションに戻ってください。
[OK] をクリックします。
ヒント
サービスを仮想ディレクトリではなく Web サイトのルート ディレクトリに追加する場合、そのサービスはカスタム アプリケーションではなく既定のアプリケーションに関連付けられます。 サービスが既定のアプリケーションに関連付けられている場合、IIS マネージャーの拡張機能でサービスに自動開始を構成することはできません。これは、既定のアプリケーションの自動開始は無効に設定されており、変更できないためです。
IIS マネージャーを使用してアプリケーション プールの startMode 属性を設定するには
IIS マネージャーの [接続] ウィンドウで、コンピューター名をクリックします。
[機能ビュー] がアクティブでない場合は、このビューに切り替えます。
[機能ビュー] の [管理] セクションにある [構成エディター] をダブルクリックします。
"セクション" フィールドの下矢印をクリックし、system.applicationhost を展開して、[アプリケーション プール] をクリックします。
[(コレクション)] をクリックし、カウントが表示されるフィールドの横の省略記号 ([...]) をクリックします。
[コレクション エディター] エディターで、startMode 属性を構成するアプリケーション プールを選択します。
下部の [プロパティ] ウィンドウで、[startMode] 属性の値を [AlwaysRunning] に設定します。
サイト レベルで net.pipe バインドを有効にするには
-
ヒント
Windows Server AppFabric は WCF サービスであるサービス管理サービスを、serviceManagement 属性が有効になっているアプリケーションすべてに追加します。 既定では、この属性は有効になっています。 このサービスを使用するには、Web サイトに対して net.pipe バインドが有効になっていて、アプリケーションに対してその net.pipe プロトコルが有効になっている必要があります。 これらの設定が有効になっていない場合、自動開始機能でこのサービスは開始されず、イベント ログにエラー メッセージが書き込まれます。 このサービスの詳細については、「サービス管理サービス」を参照してください。
IIS マネージャーでサイト名を右クリックし、[バインドの編集] をクリックして [サイト バインド] ダイアログ ボックスを開きます。
[サイト バインド] ダイアログ ボックスに net.pipe バインドが表示されない場合は、[追加] をクリックして [サイト バインドの追加] ダイアログ ボックスを開きます。
[サイト バインドの追加] ダイアログ ボックスで、"種類" フィールドに net.pipe を選択し、"バインド" フィールドに「*」と入力します。
[OK] をクリックして [サイト バインドの追加] ダイアログ ボックスを閉じ、[閉じる] をクリックして [サイト バインド] ダイアログ ボックスを閉じます。
アプリケーションの net.pipe プロトコルを有効にするには
IIS マネージャーで、サービスが含まれるアプリケーションの名前を右クリックします。
[アプリケーションの管理] をポイントし、[詳細設定] をクリックして起動します。
[詳細設定] ダイアログ ボックスで、"有効なプロトコル" フィールドの値に「,」 (コンマ) 記号およびそれに続く「net.pipe」を追加します。
[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] に設定する必要があります。
Windows Server AppFabric は WCF サービスであるサービス管理サービスを、serviceManagement 属性が有効になっているアプリケーションすべてに追加します。 既定では、この属性は有効になっています。 このサービスを使用するには、Web サイトに対して net.pipe バインドが有効になっていて、アプリケーションに対して net.pipe プロトコルが有効になっている必要があります。 これらの設定が有効になっていない場合、自動開始機能でこのサービスは開始されず、イベント ログにエラー メッセージが書き込まれます。 このサービスの詳細については、「サービス管理サービス」を参照してください。
2011-12-05