ASP.NET MVC How-to use rotas quando o aplicativo é publicado como SubProject de um domínio?

StackOverflow https://stackoverflow.com/questions/802253

  •  03-07-2019
  •  | 
  •  

Pergunta

Eu tenho um webapp que funciona perfeitamente quando depurado e testado localmente. No entanto, quando eu publicar o site para um ProductionServer o encaminhamento é confuso. Isso é porque ele é executado como um sub-projeto sobre o ProductionServer.

Testing:     http://localhost:xxx/
Production:  http://remotehost/webapp/

Como devo configuração de roteamento?

Esta é minha configuração de roteamento atual (principalmente padrão). O servidor exibe a ação do controlador padrão quando eu visitar http: // remotehost / webapp / . Mas quando eu codificar o controlador ( http: // remotehost / webapp / Projeto / isso não acontecer trabalho ...

Shared Sub RegisterRoutes(ByVal routes As RouteCollection)
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}")

    routes.MapRoute("ProjectsByCategory", "Project/Category/{id}", _
                    New With {.controller = "Project", .action = "ListByCategory", .id = ""}, _
                    New With {.id = "^[0-9]+"})


    routes.MapRoute( _
        "Default", _
        "{controller}/{action}/{id}", _
        New With {.controller = "Project", .action = "Index", .id = ""} _
    )

End Sub
Foi útil?

Solução

Para mim parece que ele pode estar relacionado com a publicação no IIS 6. Há um artigo aqui sobre isso.

Para mim um problema semelhante foi resolvido adicionando um 'mapa Wildcard aplicação':

  • No IIS, clique direito e escolha Propriedades para o diretório virtual em questão
  • escolha guia diretório virtual
  • escolha Configuração
  • clique em Inserir
  • digite o caminho para aspnet-isapi.dll (tipicamente c: \ windows \ microsoft.net \ framework \ v2.0.50727 \ aspnet_isapi.dll).

Outras dicas

A propósito, o encaminhamento parece estar funcionando no nível de aplicação. Não há necessidade de incomodar o seu domainname ou nomes de diretórios superiores.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top