ASP.NET MVC Come utilizzare le route quando l'applicazione viene pubblicata come sottoprogetto di un dominio?

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

  •  03-07-2019
  •  | 
  •  

Domanda

Ho una webapp che funziona perfettamente quando viene eseguita il debug e testata localmente. Tuttavia, quando pubblico il sito su un server di produzione, il routing è incasinato. Questo perché funziona come sottoprogetto sul server di produzione.

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

Come devo configurare il routing?

Questa è la mia attuale configurazione di routing (principalmente predefinita). Il server visualizza l'azione del controller predefinita quando visito http: // remotehost / webapp / . Ma quando codifico il controller ( http: // remotehost / webapp / Project / non funziona il lavoro ...

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
È stato utile?

Soluzione

Per me sembra che potrebbe essere correlato alla pubblicazione su iOS 6. C'è un articolo qui a riguardo.

Per me un problema simile è stato risolto aggiungendo una 'Mappa delle applicazioni jolly':

  • In IIS, fai clic con il pulsante destro del mouse e scegli Proprietà per la directory virtuale in questione
  • seleziona la scheda Directory virtuale
  • scegli Configurazione
  • fai clic su Inserisci
  • inserisci il percorso di aspnet-isapi.dll (in genere c: \ windows \ microsoft.net \ framework \ v2.0.50727 \ aspnet_isapi.dll).

Altri suggerimenti

A proposito, il routing sembra funzionare a livello di applicazione. Non è necessario disturbare il tuo nome di dominio o nomi di directory superiori.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top