静的コンテンツが要求されるとIIS7は空白を返します


14

Windows 7 Home PremiumエディションのEEEPCであるデモマシンを、IIS7がインストールされた適切にロードされたすべてのドライバー(なぜHomeエディションなのかを聞かないでください)で構成しようとしています。

ASP.NET MVCサイトであるマシンにデモ対象のアプリケーションをデプロイし、コンソール経由でWebサイトを追加し、アプリプールを追加しました。アプリプールはNetworkServiceとして実行され、ゲストはIUSRとして認証されます。

NetworkServiceに変更権を追加し、WebサイトのフォルダーとそのコンテンツにIUSRの読み取り権と実行権を追加しました。

http://example.com/のようにWebのルートに アクセスすると、Webサイトから適切なHTMLが取得されます(アプリケーションが機能することを意味します)が、問題はすべての静的コンテンツが空白を返すことです。

なぜこれが起こっているのか分かりません。404または500エラーページはありません。静的コンテンツにアクセスしたときの単なる空の応答です。ASP.NETで生成されたすべてのコンテンツは正常に機能します(すべてのCSSと画像が読み込まれないため、少し奇妙ですが)

助けてください、IIS7管理コンソールは私を非常に混乱させ、明日までにマシンが必要です。

回答:



2

私の場合、サーバーの役割は既にインストールされていましたが、静的ハンドラーは、ハンドラーマッピングが1つしかない些細なテストサイトでも空白のページを提供していました。

修正は、リクエストの制限「リクエストがマップされている場合にのみハンドラを呼び出す」を有効にすることでした。「ファイル」に設定するか「ファイルまたはディレクトリ」に設定するかは関係ありません。チェックボックスが有効になっている限り、動作します:

                  ここに画像の説明を入力してください

それでも解決しない場合は、空白ページにつながるもう1つのことは、「Request path」セクションで、publicまたはなどのパスを指定しようとすることpublic/*です。後者は単純に間違っていますが、前者は受け入れられるべきですが、代わりに空白のページになります。解決策は、ハンドラマッピングを<location path='public'>セクションにラップし*て、「リクエストパス」設定を指定することです。または、IISマネージャで、サイトを展開し、最初のフォルダを選択し、その後、ハンドラマッピングを編集します。


1

@MattBが示唆したように、「静的コンテンツ」機能を有効にしていませんでしたが、それは問題の一部にすぎません。

「静的コンテンツ」機能を追加しましたが、問題が解決しないため、ハンドラーマッピングリストからデフォルトのMvcHttpHandlerを削除し、問題を解決します。そのため、問題はMvcHttpHandlerがリクエストをインターセプトすることでした。 StaticFileHandler、

参考までに、「静的コンテンツ」をインストールした後、次のことも確認してください...

  1. インターネットインフォメーションサービスマネージャーで、Webサイトをクリックします。
  2. 「ハンドラーマッピング」機能をダブルクリックします。
  3. 右側(アクションパネル)に、「順序付きリストの表示...」というタイトルのリンクが表示されます。
  4. 次に、モジュールが各リクエストに一致する順序を見つけ、順序が理にかなっていることを確認します。

私の場合、MvcHttpHandlerは他のものよりも上にあり、リストの一番下に移動することで問題を解決しました。これは、AXDファイルハンドラ、TRACEハンドラ、OPTIONSハンドラ、静的コンテンツがショットを取得するため、最も賢明な場所です最初にリクエストを処理するとき。

これが誰かが同じ問題をグーグルで検索するのに役立つことを願っています

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.