Cache de saída do IIS com extensão ISAPI

1

Eu tenho um aplicativo em execução no IIS por meio de uma extensão ISAPI com arquivos JSON de saída com base na URL de entrada (funciona com uma interface RESTful - as URLs estão no formato http://domain/path/to/resource.json ).

O aplicativo funciona bem, mas não consigo fazer o cache de saída do IIS funcionar para os arquivos que estou gerando.

No meu web.config eu tenho:

<system.webServer>
    ...
    <caching>
        <profiles>
            <add extension=".json" policy="CacheForTimePeriod" kernelCachePolicy="DontCache" duration="00:00:30" />
        </profiles>
    </caching>
</system.webServer>

Eu também tentei usar * , mas isso também não funciona.

Alguma idéia de por que isso não funcionaria? Obrigado!

    
por Tom--G 08.12.2014 / 19:46

1 resposta

0

Por padrão, o armazenamento em cache está desabilitado nos filtros ISAPI e não acredito que possa ser habilitado por meio da GUI. Instale o filtro ISAPI e ative o recurso de armazenamento em cache, modificando a seção <isapiFilters> do web.config ou utilizando appcmd.exe .

appcmd.exe Exemplo:

appcmd.exe set config -section:system.webServer/isapiFilters /+"[name='YourJsonIsapi',path='c:\yourpath\YourJsonIsapi.dll',enabled='True',enableCache='True']" /commit:apphost

web.config Exemplo:

<configuration>
   <system.webServer>
      <isapiFilters>
         <filter 
            name="YourJsonIsapi" 
            enabled="true" 
            enableCache="true" 
            path="C:\yourpath\YourJsonIsapi.dll" />
      </isapiFilters>
   </system.webServer>
</configuration>
    
por 08.12.2014 / 20:42

Tags