共有構成のオフライン ファイル

作成者: Walter Oliver

はじめに

共有構成を有効にした場合に生じる一般的な疑問は、これらのファイルを提供するネットワーク共有が使用できなくなったときにどうなるかということです。 共有が停止すると、構成システムは (共有がタイムアウトになった後に) 変更通知を検出し、WAS では、失敗となっている構成の再読み込みを試みます。 この時点で、Web サーバーは機能せず、W3SVC サービスでは構成にアクセスできなくなります。 Web サーバーが常に構成ファイルにアクセスできるようにするには、レプリケーションまたはオフラインのいずれかのファイルを持つ分散ファイル システム (DFS) を使用することをお勧めします。

Note

Windows Server 2008 R2 (Windows 7) では、共有が停止すると、構成ファイルへのアクセス時に IO エラーが発生したことを示す特殊な通知が、構成システムから WAS に送信されます。 この時点で、WAS では、現在持っている構成のキャッシュされたコピーを使用し続けます。 その一方で、共有が復帰する (この時点で、構成が再読み込みされます) まで構成システムのポーリングを続けます。 WAS がキャッシュされた構成で実行されている間に WAS を停止するかシステムを再起動すると、共有が復帰するまで Web サーバーの動作が停止します。

オフライン ファイル機能 (クライアント側キャッシュ) を使用すると、ネットワーク共有が使用できない場合でも、ネットワーク共有に保存されているファイルにアクセスできます。 これは、構成ファイルを常に使用できるようにするための簡単なソリューションであり、共有構成ファイル用にお勧めします。 ただし、オフライン ファイルは Web サイトのコンテンツにはお勧めしません。これによってスループットが低下するためです。

問題の概要: IIS 7.0 以降のサーバーが共有構成モードで動作するように構成されている場合、構成ファイルはファイル共有に保存されます。 この構成は、Web ファームを設定する場合にお推めしています。 ただし、ファイル共有がオフラインになった場合、セットアップ全体が失敗し、Web サーバーが応答しなくなります。 さらに、ファイル共有が再び起動すると、IIS サーバーがそれを検出できず、次のエラー メッセージが表示されます。

HTTP エラー 500.19 - 内部サーバー エラー: ページに関連する構成データが無効であるため、要求されたページにアクセスできません。

この後に Web サーバーをもう一度起動するには、IISreset を実行する必要があります。

その他の情報

Web サイト コンテンツの場合は、ファイル サーバーに DFS を使用することを検討してください。 DFS の詳細については、「分散ファイル システム」を参照してください。

クライアント側キャッシュの詳細については、https://www.microsoft.com/ を参照してください。

オフライン ファイルを使用して共有構成を設定する

オフライン ファイル (クライアント側キャッシュ) を有効にして共有構成を設定するには、次の手順に従います。

手順 1: Web サーバーのコントロール パネルで [オフライン ファイル] を開きます。

手順 2: [オフライン ファイル] ダイアログ ボックスで、[オフライン ファイルを有効にする] をクリックします。 マシンはまだ再起動しないでください。

手順 3: 次のコマンドを実行して、キャッシュが読み取り専用に設定されていることを確認します。

REG ADD "HKLM\System\CurrentControlSet\Services\CSC\Parameters" /v ReadOnlyCache /t REG_DWORD /d 1 /f

手順 4: Web サーバーを再起動します。

手順 5: Web サーバーからファイル共有フォルダーを参照します。 右クリックして、[Always Available Offline] (常にオフラインで使用可能) を選択します。 Image of file share folder from web server displaying option for Always Available Offline checked.

手順 6: [コントロール パネル] -- > [オフライン ファイル] に移動します。 [スケジュール] オプションを選びます。
Screenshot of Sync Center page with Offline Files folder highlighted and Select Schedule option displayed.

手順 7: 1 日ごとに、または要件に従ってオフライン ファイルの同期をスケジュールします。 これは数分で行われる場合もあります。 スケジューラを設定しなくても、applicationhost.config ファイルで何かを変更すると、すぐに Web サーバーに反映されます。

Image of Offline Files Sync Schedule dialog box displaying Start on box with drop down menus for sync frequency.

これで、ファイル共有がオフラインであり、IISReset が現時点で不要な場合でも、Web サーバーは正常に動作します。
コンテンツについて支援してくれた Won Yoo と Amol Mehrotra に感謝します。