IIS 7 - Problemas de URL do aplicativo de página única quando alias

2

Um cliente nosso tem a seguinte configuração no IIS

Sites
 - applications (binds to http://applications.domain.com)
  - app1
  - app2

app1 e app2 são aplicativos .NET de página única (combinação de .NET Web MVC e API .NET).

Os aplicativos estão na pasta C:\inetpub\applications\ e ambos foram convertidos em aplicativos. Assim, app1 está disponível no seguinte URL http://applications.domain.com/app1 e app2 está disponível em http://applications.domain.com/app2

O problema que estou encontrando é que todas as rotas AJAX são relativas à rota raiz (/) e, portanto, não existem, e. http://applications.domain.com/api/products não gera um erro 404, pois a rota é, na verdade, http://applications.domain.com/app1/api/products .

Existe uma configuração do IIS que me permita fazer esse trabalho não reescrever todas as minhas chamadas AJAX com o prefixo? Ou existe uma maneira diferente de configurar esse tipo de configuração no IIS? Obrigado.

    
por Bart Jedrocha 25.03.2014 / 20:16

1 resposta

0

O que você quer fazer é colocar os dois aplicativos em seus próprios diretórios virtuais - então, a maioria das chamadas do asp.net vai ter a raiz correta do documento e as coisas ficarão melhores com o mundo.

Para fazer isso:

  1. crie uma raiz de documento falsa e um site falso - o iis7 precisa de um lugar para armazenar um arquivo web.config e isso deve ser exclusivo para esse aplicativo. Eu usaria algo como c: \ inetpub \ applications \ deadroot; adicione um site do IIS olhando para esta pasta.
  2. Adicione um aplicativo virtual para app1 apontado para a pasta do app1 dentro deste site
  3. Adicione um aplicativo virtual para app2 apontado para a pasta do app2 dentro deste site

Cada um ficará em pé sobre a cabeça.

    
por 25.03.2014 / 20:24