Problema com sub aplicação no IIS

288 views
Skip to first unread message

Abner das Dores

unread,
Mar 7, 2013, 1:06:14 PM3/7/13
to dotn...@googlegroups.com
Fala pessoal!

Tenho um sistema legado aqui, feito em Asp.Net Website, já rodando no framework 4.0 e no IIS 8, e estou criando uma nova parte do site, feita em Asp.Net MVC 4. A ideia é funcionar da seguinte forma:

- Acessanto o site na raiz (www.meusite.com.br) ele abre o site legado numa boa;
- Acessanto o o caminho www.meusite.com.br/admin/ carrega o site em MVC4.

Configurar isso no IIS é relativamente bem tranquilo. Fiz uns testes e funcionou numa boa. Massssss, quando fui aplicar no meu cenário real, não foi bem assim.

O projeto legado carrega algumas dll's que criam módulos no IIS, como por exemplo o Elmah. E ai ocorrem dois problemas:

- Quando tento acessar minha sub aplicação, no caso o "/admin", obtenho o seguinte erro: "Não foi possível carregar arquivo ou assembly 'Elmah' ou uma de suas dependências. O sistema não pode encontrar o arquivo especificado.".
- Se eu instalar o Elmah também na minha sub aplicação, ele diz que existem configurações sobrepostas no web.config.

Quando eu tenho uma sub aplicação não era para os arquivos web.config trabalharem de forma independente? Alguém já passou por algo parecido?

Não sei se consegui explicar bem meu cenário, mas já tentei várias coisas aqui e não achei nada relacionado no Google. Talvez eu esteja até procurando da forma errada.

Qualquer sugestão é bem vinda, rs.

Abraços!

--
Abner das Dores

Abner das Dores

unread,
Mar 7, 2013, 1:08:02 PM3/7/13
to dotn...@googlegroups.com
OBS: "meusite" foi um nome fictício que eu usei, nem sabia que realmente existia um site chamado "www.meusite.com.br". Hahahahahaha

Luiz Carlos Faria

unread,
Mar 8, 2013, 1:35:56 AM3/8/13
to dotn...@googlegroups.com
Abner,

na verdade os web.config`s não são independentes dentro de um mesmo domínio de aplicação. Estou complicando, falando em domínio de aplicação, porque é um conceito necessário para resolver este problema.

O seu site principal cria um domínio de aplicação para ele. Tudo que você colocar abaixo dele, é carregado com as configurações deste domínio. Por padrão, um domínio web carrega seus assemblies na pasta ~/bin e a principal configuração, exceto as da máquina (machine.config, ApplicationHost.config), é ~/web.config. 

Todos os configs de subdiretórios de ~/ herdam as configurações do ~/web.config principal, sobrepondo algo quando lhe convém, no entanto o bin é único.

Para que você tenha um novo domínio de aplicação debaixo de um site, é preciso configurar o diretório no IIS como Application. Do Application para baixo, você tem uma aplicação autônoma, isolada da principal. Debaixo deste contexto você precisa de um deploy completo com bin, web.config (full) etc. 

Como está falando de projeto novos e antigos side-by-side, vale a pena lembrar também que você pode trabalhar com frameworks diferentes entre os dois Applications, desde que ambos estejam em Application Pools separados.


[ ]`s
_______________________________________________________________
Luiz Carlos Faria


Em 7 de março de 2013 15:06, Abner das Dores <abner...@gmail.com> escreveu:
--
==============================
Comunidade de desenvolvedores Dot Net no Brasil
 
Facebook: www.facebook.com/grupodotnetbr
 
WebSite: www.dotnetbr.com
 
E-mail do Grupo: dotn...@googlegroups.com
==============================
---
Você está recebendo esta mensagem porque se inscreveu no grupo "DotNet Brasil" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para dotnet_br+...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 

Abner das Dores

unread,
Mar 8, 2013, 12:35:17 PM3/8/13
to dotn...@googlegroups.com
Fala Luiz! Muito obrigado pela resposta.

Eu já tinha configurado o novo site como um domínio de aplicação específico dentro do site antigo, porém eles estavam no mesmo pool de aplicativos. Eu criei um pool separado para a nova aplicação e mesmo assim os problemas persistiram.

Estou estudando alguma alternativas. Se eu conseguir realizar um Single Sign On em subdomínios usando forms authentication, acho que vou adotar uma solução com subdomínio, do tipo: "dominio.com.br" e "admin.dominio.com.br". Assim no IIS eu posso deixar os dois como sites separados.

Mas valeu pela ajuda. Esclareceu algumas coisas e me deu umas ideias.

Abraços!

--
Abner das Dores
Reply all
Reply to author
Forward
0 new messages