Domanda

sto facendo un po 'di lavoro con Web.Routing, usandola per avere URL amichevole e piacevole riposo come interfacce per un sito che è essenzialmente reso da un singolo IHttpHandler. Non ci sono WebForms, il gestore genera tutto il codice html / JSON e lo scrive come parte del processo di richiesta.

Questo metodo funziona bene per le cose come / siti / Contabilità per esempio, ma non riesco a farlo funzionare per il sito principale, vale a dire '/'.

Ho provato la registrazione di un percorso con una stringa vuota, con 'default.aspx' (che è il file aspx vuoto tengo nella mia cartella principale di bel gioco con Cassini e IIS). Ho impostato RouteExistingFiles a false in modo esplicito, ma ciò che faccio quando colpisce la radice URL si apre ancora default.axpx, che non ha alcun codice da cui eredita, e contiene un semplice tag h1 per dimostrare che ho colpito.

Non voglio cambiare il file predefinito per reindirizzare a un percorso desiderato, voglio solo l'equivalente di un percorso 'default' che viene applicato quando si trovano nessun'altra via, simile a MVC.

Per riferimento, la versione precedente del sito non ha utilizzare Web.Routing, ma aveva un gestore di riferimento nel web.config che era perfettamente in grado di intercettare le richieste per la radice o default.aspx.

Tutte le specifiche: ASP.NET 3.5SP1, C #, non webforms, MVC o openrasta. vecchi IHttpHandlers chiaro.

È stato utile?

Soluzione

Risolto il mio problema: il problema è il web server integrato, Cassini o qualcosa del genere. Sembra che pretende molto bello giocare con il routing, e per impostazione predefinita semplicemente restituire il file default.aspx o, se manca, mostrano un elenco di directory.

utilizza IIS con una directory virtuale funziona bene, ma è fastidioso (frustra condivisori di codice perché hanno bisogno di creare nuove directory virtuali quando aprono la mia app, e inquina la mia istanza di IIS. Bah. Probabilmente quello che farò per il momento tuttavia, o l'installazione di una nuova applicazione manualmente in modo da poter utilizzare l'host di dominio unico percorso come quello che esisterà in vivo.

Un'alternativa è quella di utilizzare la versione aggiornata di cassini, visto qui , che funziona se il file default.aspx manca, ma non ho trovato il modo di integrare con visual Studio ancora. Qualsiasi aiuto sarebbe apprezzato, ma la sua non è una grande priorità che ho soluzioni alternative.

Altri suggerimenti

Mi rendo conto che questo è un post molto vecchio, ma ho appena incontrato lo stesso problema utilizzando VS2012, quindi sto postando questo qui ogni evenienza.

ho risolto il problema con l'installazione di IIS espresso e l'impostazione del progetto per utilizzare IIS Express di Visual Studio. Risolto il problema.

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