2009-06-06 5 views
1

J'ai une DLL ISAPI configurée dans IIS pour le mappage de caractères génériques. Quand une URL de requête correspond à un fichier statique, je veux que StaticFileModule d'IIS serve ce fichier. Lorsque le fichier n'existe pas, je veux que la DLL ISAPI le gère.Configuration d'IIS7 sur le serveur à la fois une DLL ISAPI générique et des fichiers statiques

La section des gestionnaires de mon web.config, situé à la racine de la hiérarchie des fichiers statiques, ressemble à ceci ...

<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> 

Cela fonctionne pour les requêtes destinées à la DLL ISAPI mais les fichiers statiques sont retourné comme 404. Si je inverse la commande, je reçois juste des pages vierges sans contenu pour toutes les demandes. Si je supprime la DLL ISAPI de web.config, les fichiers statiques sont correctement servis mais, bien sûr, les requêtes ISAPI ne sont pas servies. Je crois comprendre que les gestionnaires de caractères génériques en cascade devraient fonctionner, mais les documents Microsoft que je peux trouver sont très vagues sur la façon d'y parvenir. Il est possible que ce soit un problème de configuration ou un problème avec l'implémentation de DLL ISAPI, mais à ce stade, je n'ai aucune idée. Pensées?

Répondre

1

Nous avons eu le même problème, nous venons d'ajouter ces:

<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

Ce totalement résolu un problème que j'avais avec Vista 64bit. Merci! – YeahStu

Questions connexes