Esempio di integrazione di SystemWebRouting
Nell’esempio WebRoutingIntegration, viene descritta l'integrazione del livello di hosting con le classi nello spazio dei nomi System.Web.Routing. Le classi nello spazio dei nomi System.Web.Routing consentono a un'applicazione di usare URL che non corrispondono direttamente a una risorsa fisica. L'uso del routing Web consente allo sviluppatore di creare indirizzi virtuali per HTTP dei quali viene quindi eseguito il mapping ai servizi WCF effettivi. Ciò si rivela utile quando un servizio WCF deve essere ospitato senza richiedere una risorsa o un file fisico oppure quando l'accesso ai servizi deve essere eseguito con URL che non contengono file con estensioni quali html o aspx. In questo esempio viene descritto come usare la classe RouteTable per creare URI virtuali mappati a servizi in esecuzione definiti in global.asax.
Nota
Le classi nello spazio dei nomi System.Web.Routing possono essere usate solo per i servizi ospitati su HTTP.
In questo esempio viene usato WCF per creare due feed RSS: un feed movies
e un feed channels
. Gli URL per l'attivazione dei servizi non contengono un'estensione e sono registrati nel metodo Application_Start
della classe Global
derivato dalla classe HttpApplication.
Nota
Questo esempio può essere usato solo in Internet Information Services (IIS) 7.0 e versioni successive, poiché IIS 6.0 usa un metodo diverso per il supporto di URL senza estensione.
Per usare questo esempio
Usando Visual Studio, aprire il file WebRoutingIntegration.sln.
Per eseguire la soluzione e avviare il server Web di sviluppo, premere F5.
Verrà aperta la visualizzazione directory per l'esempio. Si noti che non sono presenti file con l'estensione di file svc.
Nella barra degli indirizzi, aggiungere
movies
all'URL in modo che leggahttp://localhost:[port]/movies
e premere INVIO.Il feed movies verrà visualizzato nel browser.
Nella barra degli indirizzi, aggiungere
channels
all'URL in modo che leggahttp://localhost:[port]/channels
e premere INVIO.Il feed channels verrà visualizzato nel browser.
Chiudere il browser premendo ALT+F4.
Se il server di sviluppo non viene chiuso, fare clic con il pulsante destro del mouse sull'icona dell'area di notifica e scegliere Interrompi.
Per usare questo esempio ospitato in IIS
Usando Visual Studio, aprire il file WebRoutingIntegration.sln.
Premere CTRL+MAIUSC+B per compilare il progetto.
Creare un'applicazione Web in Gestione Internet Information Services (IIS).
In Gestione IIS fare clic con il pulsante destro del mouse su Sito Web predefinito e scegliere Aggiungi applicazione.
Per alias, digitare
WebRoutingIntegration
.Per Percorso fisico, selezionare la cartella Service all'interno del progetto.
Scegliere OK.
Avviare l'applicazione facendo clic con il pulsante destro del mouse sull'applicazione Web e scegliendo Gestisci applicazione, quindi Sfoglia.
Nella barra degli indirizzi, aggiungere
movies
all'URL in modo che leggahttp://localhost:[port]/movies
e premere INVIO.Il feed movies verrà visualizzato nel browser.
Nella barra degli indirizzi, aggiungere
channels
all'URL in modo che leggahttp://localhost:[port]/channels
e premere INVIO.Il feed channels verrà visualizzato nel browser.
Chiudere il browser premendo ALT+F4.
In questo esempio illustrato come il livello di hosting sia in grado di interagire con le classi nello spazio dei nomi System.Web.Routing per l'indirizzamento delle richieste dei servizi ospitati su HTTP.
Nota
È necessario aggiornare la versione predefinita del pool di applicazioni a .NET Framework 4 se è impostata sulla versione 2.