Precisa executar um site do IIS no modo de 32 bits em um servidor Windows de 64 bits

4

Eu tenho uma configuração do servidor IIS6 executando o Windows Server 2003 x64, R2, SP2. Tudo está funcionando muito bem, eu posso hospedar sites no IIS, e funciona exatamente como eu quero.

O problema, eu tenho um WebApp do ASP.NET que precisa usar um driver Odbc de 32 bits. Eu configurei o ASP.NET WebApp para compilar apenas para x86, mas ainda não funciona.

Eu também tentei este comando no servidor para ativar processos de trabalho x86, mas também não funciona: cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 true de aqui

Ainda assim, o aplicativo falha ao carregar o driver ODBC, se eu executar o mesmo código em uma máquina dev x86 ele funciona como esperado, ele também funciona no meu x86 IIS7; Eu gostaria de evitar a construção de outro servidor web de produção para este WebApp, então qualquer ajuda é apreciada.

    
por Nate 30.12.2009 / 17:06

3 respostas

6

Além de ativar aplicativos de 32 bits no win 64, é necessário ativar a integração do asp.net IIS de 32 bits. No Windows \ Microsoft.NET \ Framework \ v2.0.50727 (não no diretório Framework64), execute:

aspnet_regiis -enable -i

    
por 30.12.2009 / 18:19
1

Além do que o @dmo respondeu acima, tive que permitir que o Application Pool lide com aplicativos x86 . Para isso, abra o Gerenciador do IIS e, em seguida, escolha Pool de Aplicativos , no qual você espera que ele manipule x86 e abra Configurações Avançadas . Agora, encontre a propriedade Ativar aplicativos de 32 bits e defina como True.

    
por 10.06.2013 / 14:20
0

Você tem outras DLLs que poderiam estar acessando o driver ODBC em "Qualquer" em vez do modo de 32 bits? Esse provavelmente seria o seu problema, tivemos um problema semelhante e resolvemos isso mudando os assemblies que chamavam o driver para 32 bits apenas ... mas deixamos o aplicativo da Web como "Any" (64 bits).

    
por 30.12.2009 / 18:07