Na realidade, o .net 2.0 e o .net 3.5, na verdade, executavam e usavam a mesma versão do ASP.NET (e o CLR), portanto, sempre que você quiser executar o .net 3.0 ou 3.5, selecione o 2.0 versão.
Agora, em termos de isolamento de apppool, a primeira coisa é que você precisará ter apppools separados para cada versão do CLR / asp.net, isso significa que 4.0 e 2.0 devem ser separados, mas 2.0, 3.0 e 3.5 podem viva tudo feliz dentro do mesmo AppPool.
Em termos de melhores práticas, isso realmente depende da carga e dos tipos de aplicativos que você hospeda e de muitos outros critérios, mas eu realmente usaria o AppPool Isolation, especialmente para:
- Tente manter o isolamento entre os aplicativos de maneira que você possa
a) meça e monitore eles de forma independente, de modo que você possa ver facilmente a CPU, a Memória e outros recursos que cada um deles está consumindo.
b) ser capaz de descarregar (reciclar) um aplicativo / site que esteja se comportando mal.
c) isolar os aplicativos que têm diferentes níveis de expectativa de serviço , por exemplo, você pode saber que determinado aplicativo é crítico versus não muito. Lembre-se de que um único aplicativo que possui um bug pode derrubar o processo de trabalho se estiver executando em Confiança total, afetando todos os outros que estiverem sendo executados no mesmo pool de aplicativos. d) isolar os aplicativos que têm requisitos diferentes de segurança , por exemplo, você pode precisar executar alguns deles com certos privilégios (como acessar o SQL Server usando Kerberos ou gravar arquivos em disco ou outras coisas que você não desejará que outros aplicativos acessem. Dessa forma, você pode executar cada AppPool com credenciais diferentes, fornecendo um nível de isolamento e proteção para o sistema operacional.
Um motivo pelo qual você pode decidir hospedar vários aplicativos no mesmo pool de aplicativos é se todos eles compartilharem partes significativas de código, por exemplo, se você estivesse hospedando um aplicativo CMS grande e teria 20 instâncias diferentes em execução, usando o mesmo processar o sistema operacional pode fazer um trabalho muito melhor em compartilhar memória e outros recursos que os tornarão um pouco mais eficientes.
No entanto, acho que, a menos que você hospede uma grande quantidade de sites (quero dizer > = 500), recomendo isolar cada site em seu próprio pool de aplicativos, especialmente se eles não estiverem sendo executados no Medium Trust ou em outros frameworks como PHP, ASP, ISAPI, etc, já que eles fornecem muita energia para potencialmente fazer coisas que não deveriam ser permitidas (como ler a configuração de outros sites ou a memória).