3

会社の Web アプリを Windows Server 2003 から Windows Server 2008 R2 に移行しました。これらはすべて .Net 2.0 の従来の Web アプリです。/Reports/... で始まるパスを持つリソースにアクセスする場合を除いて、それらはすべて正常に動作するようです。

あるアプリでは、ディスク上の物理パスは c:\Websites\app_name\WebService\Reports... です。このレポート フォルダーでは、PDF ファイルが動的に生成され、ディスクに書き込まれます。次のような URL からアクセスできます。

http://domain_name/Reports/xxxx.pdf

/Reports は、上記の物理パスにマッピングされた仮想ディレクトリです。これは2003サーバーとIIS6ではうまくいきましたが、IIS7.5と2008 R2では次のエラーが発生し続けます:

リソースが見つかりません。

説明: HTTP 404。探しているリソース (またはその依存関係の 1 つ) は、削除されたか、名前が変更されたか、一時的に利用できない可能性があります。次の URL を見直して、スペルが正しいことを確認してください。

要求された URL: /Reports/xxxx.pdf

サーバー上のディスクに書き込まれるのではなく、レポートを動的に生成し、ローカル ディスクに保存するためにクライアント ブラウザーに直接ストリーミングする別の Web アプリがあります。上記の例と同様に、レポートを生成するページは次のパスの下にあります。

/Reports/Viewer.aspx

この場合、使用されている仮想ディレクトリはありません。ブラウザで参照される URL は次のとおりです。

http://another_domain_name//Reports/Viewer.aspx

もう一度、上記と同じエラー メッセージが表示されます... HTTP 404 - リソースが見つかりません。

太陽の下ですべての許可設定を試してみましたが、うまくいきませんでした。組み込みのアカウントを使用し、最小限の権限から完全な管理者権限までの権限を持つ新しいアカウントを作成しました。また、新しい AppPool Identities を試してみましたが、成功しませんでした。ディレクトリに具体的に設定した権限、アプリプール用に構成されたアカウント、または各 Web サイト自体の基本設定は問題ではないようです。

私が発見したことの1つは、ブラウザがHTTP 404エラーを取得している間、各WebサイトのIISログファイルにこのリクエストの記録がないことです!! 要求されたリソースで失敗した 404 ログ エントリが表示されることは間違いなく予想されるため、これは私を本当に混乱させます。

注意すべき点として、レポート サービスがインストールされ有効になっているこのマシンで SQL Server 2008 Enterprise を実行しています。言い過ぎですが、私の Web サイトの /Reports パスと、マシン上で実行されている他の何かで競合が発生する可能性はありますか? サーバー上で実行されている個々のドメインと Web サイトごとに、異なるバインディング/ホスト ヘッダーを使用しています。

4

3 に答える 3

2

レポート フォルダの競合をチェックします。また、Google は SO よりも高速であることを忘れないでください。

于 2012-06-11T20:39:28.583 に答える
1

IIS は最近、ファイルが見つからないだけでなく、多くの場合に 404 エラーを返します。イベント ログ (アプリケーション) を確認し、サーバー自体からアクセスしてみてください。

もう 1 つの確認事項は、IIS アプリケーション プールが正しく構成されていることです。特に、パイプライン モードと .NET フレームワークのバージョンが正しいことを確認してください。

于 2012-06-11T20:34:51.200 に答える
0

コマンドプロンプトで、次のように入力します。

netsh http show urlacl

/reports/-SQL Server Reporting Servicesのインストールから残っている可能性のあるバインディングがあるかどうかを確認しますか?

v / r BK

于 2013-03-20T20:25:15.937 に答える