2009-06-06 2 views
1

ワイルドカードマッピング用にIISで構成されたISAPI DLLがあります。要求URLが静的ファイルに対応する場合、IISのStaticFileModuleでそのファイルを処理する必要があります。ファイルが存在しない場合は、ISAPI DLLで処理します。ワイルドカードISAPI DLLと静的ファイルの両方をサーバーにIIS7を構成する

静的ファイル階層のルートにある私のweb.configファイルのハンドラセクションは、次のようになります...

<handlers accessPolicy="Read, Script"> 
    <clear /> 
     <add name="SomeIsapiDll" path="*" verb="*" type="" 
      modules="IsapiModule" scriptProcessor="C:\my_site\some_isapi.dll" 
      resourceType="Unspecified" requireAccess="None" allowPathInfo="false" 
      preCondition="" responseBufferLimit="4194304" /> 
     <add name="StaticFile" path="*" verb="*" type="" 
      modules="StaticFileModule,DefaultDocumentModule" scriptProcessor="" 
      resourceType="Unspecified" requireAccess="None" allowPathInfo="false" 
      preCondition="" responseBufferLimit="4194304" /> 
</handlers> 

これは、ISAPI DLLに対する要求を動作しますが、静的なファイルがあります404として返されます。注文を元に戻すと、リクエストの内容がない空白のページが表示されます。 web.configからISAPI DLLを削除すると、静的ファイルは正しく提供されますが、もちろんISAPI要求は処理されません。

カスケードワイルドカードハンドラは動作するはずですが、私が見つけることができるMicrosoftのドキュメントは、これをどうやって行うのか非常に曖昧です。これは構成上の問題またはISAPI DLL実装の問題の可能性がありますが、現時点ではわかりません。思考?

答えて

1

私たちは同じ問題を抱えていたし、私たちはこれらを追加しました:

<add name="aspnet_isapi 32-bit" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> 

<add name="aspnet_isapi 64-bit" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv2.0,bitness64" /> 
+0

これを完全に私はVistaの64ビット版を持っていた問題を解決しました。ありがとう! – YeahStu

関連する問題