II7 - O mapeamento do manipulador não é executado

2

Eu criei um mapeamento de manipulador de script em um Windows 2008 de 64 bits com o IIS 7. A dll de manipulador nunca é chamada e recebo um erro 404. Em uma caixa idêntica, executando apenas 32 bits do Windows 2008, ele funciona bem. Abaixo estão os mapas do manipulador no web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers>
            <add name="DeltekTE" path="*.jsp" verb="*" modules="IsapiModule" scriptProcessor="D:\NewTime\DeltekTC\iisproxy.dll" resourceType="Unspecified" preCondition="bitness32" />
            <add name="DeltekTC" path="*.msv" verb="*" modules="IsapiModule" scriptProcessor="D:\NewTime\DeltekTC\iisproxy.dll" resourceType="Unspecified" preCondition="bitness32" />
        </handlers>
    </system.webServer>
</configuration>

Nas Restrições ISAPI e CGI no nível do servidor, a dll tem permissão para ser executada. O usuário do serviço de rede e o IIS_USRS têm permissão para ler e executar a dll. Por que o mapeamento não funciona?

    
por Tom Morgan 01.08.2009 / 20:09

1 resposta

2

Provavelmente, você deseja garantir que seu pool de aplicativos esteja definido como 32 bits, não apenas seu manipulador.

Tente olhar para o Pool de aplicativos no Gerenciador do IIS, clique no pool de aplicativos e clique em Configurações avançadas. Altere o "ativar aplicativos de 32 bits" para true.

Você também pode usar o AppCMD para alterar isso:

C:\Windows\System32\inetsrv\AppCMD.EXE SET AppPool "DefaultAppPool" /enable32BitAppOnWin64:true

Você precisaria alterar "DefaultAppPool" para o nome do pool de aplicativos:

C:\Windows\System32\inetsrv\AppCMD.EXE LIST AppPool

Você também pode adicionar um novo AppPool apenas para isso:

C:\Windows\System32\inetsrv\AppCMD.EXE ADD AppPool /name:"New32BitPool"
C:\Windows\System32\inetsrv\AppCMD.EXE SET AppPool "New32BitPool" /enable32BitAppOnWin64:true
    
por 03.08.2009 / 19:16

Tags