4

IIS 7 から Tomcat に Apache ISAPI Redirector を使用しようとするとエラーが発生しますが、32 ビット W2K8 SP2 Standard Edition でのみ発生します。

64 ビットの W2K8 R2 と 32 ビットの W2K3 で正常に動作します。

正しい 32 ビット ライブラリ (リリース 1.2.32 または 1.2.37) があることを確認しました。実際、まったく同じライブラリが 32 ビット W2K3 でも動作します。フィルタは有効で許可されており、ライブラリ フォルダとレジストリ エントリへのアクセス許可を持っています。

ライブラリの名前を変更すると、「Calling LoadLibraryEx on ISAPI Filter …. Failed」という別のエラーが表示されます - エラー コード 0x8007007e。私は許可の問題のようには見えません。

正確なエラー テキストは、"Calling GetFilterVersion on ISAPI Filter "….\isapi_redirector_1.0.dll" failed" - エラー コード 0x80070002 です。

エラー ログには次のように表示されます。HTTP フィルター DLL …\isapi_redirector_1.0.dll の読み込みに失敗しました。ソース = IIS-W3SVC-WP。エラー コードは 02 00 00 00 です

すべてのポインタをいただければ幸いです。

4

1 に答える 1

0

これには複数の理由が考えられます。最も一般的なのは次のとおりです。

  1. 32 ビット DLL の一部の依存関係は解決されていません。この DLL を Dependency walker で開き、エラーがないか確認します (警告はスキップします)。ほとんどの場合、すべての依存ライブラリが存在します。そのような場合、特定のバージョンの VC 再配布可能ファイルが存在しないために LoadLibraryEx エラーが発生することがあります (DLL が VS 2010 からビルドされた場合、VC 2010 再配布可能ファイルが必要です)。
  2. この DLL の読み取りアクセス許可は、Web サイトが実行されているアプリケーション プールでは使用できません。Web サイトのプロパティをチェックしてユーザーを確認し、このユーザーが DLL へのアクセス許可を持っていることを確認してください。
于 2015-02-24T09:57:32.080 に答える