Condividi tramite


Hosting nel servizio di attivazione dei processi di Windows

Il servizio di attivazione dei processi windows (WAS) gestisce l'attivazione e la durata dei processi di lavoro che contengono applicazioni che ospitano servizi Windows Communication Foundation (WCF). Il modello di processo WAS generalizza il modello di processo IIS 6.0 per il server HTTP rimuovendo la dipendenza da HTTP. Ciò consente ai servizi WCF di usare protocolli HTTP e non HTTP, ad esempio Net.TCP, in un ambiente di hosting che supporta l'attivazione basata su messaggi e offre la possibilità di ospitare un numero elevato di applicazioni in un determinato computer.

Per altre informazioni sulla compilazione di un servizio WCF eseguito nell'ambiente di hosting WAS, vedere Procedura: Ospitare un servizio WCF in WAS.

Il modello di processo WAS offre diverse funzionalità che consentono alle applicazioni di essere ospitate in modo più affidabile, più gestibile e che usa le risorse in modo efficiente:

  • L'attivazione basata su messaggi delle applicazioni e delle applicazioni del processo di lavoro viene avviata e interrotta dinamicamente in risposta agli elementi di lavoro in ingresso che arrivano usando protocolli di rete HTTP e non HTTP.

  • Riciclo affidabile di applicazioni e processi di lavoro per mantenere l'integrità delle applicazioni in esecuzione.

  • Configurazione e gestione centralizzate delle applicazioni.

  • Consente alle applicazioni di sfruttare il modello di processo IIS senza richiedere il footprint di distribuzione di un'installazione IIS completa. Windows Server AppFabric funziona con IIS 7.0 e il servizio di attivazione dei processi windows (WAS) per fornire un ambiente di hosting di applicazioni avanzato per i servizi WCF e WF NET4. Questi vantaggi includono la gestione del ciclo di vita dei processi, il riciclo dei processi, l'hosting condiviso, la protezione rapida dai guasti, i processi orfani, l'attivazione su richiesta e il monitoraggio dell'integrità. Per informazioni dettagliate, vedere AppFabric Hosting Features e AppFabric Hosting Concepts.

Elementi del modello di indirizzamento WAS

Le applicazioni hanno indirizzi URI (Uniform Resource Identifier), ovvero le unità di codice il cui ambiente di esecuzione e durata vengono gestiti dal server. Una singola istanza del server WAS può essere ospitata in molte applicazioni diverse. I server organizzano le applicazioni in gruppi denominati siti . All'interno di un sito, le applicazioni vengono disposte in modo gerarchico che riflette la struttura degli URI che fungono da indirizzi esterni.

Gli indirizzi dell'applicazione hanno due parti: un prefisso URI di base e un indirizzo relativo specifico dell'applicazione (percorso), che forniscono l'indirizzo esterno per un'applicazione quando vengono uniti insieme. Il prefisso dell'URI di base viene costruito dal binding del sito e viene usato per tutte le applicazioni sotto il sito. Gli indirizzi dell'applicazione vengono quindi costruiti prendendo frammenti di percorso specifici dell'applicazione (ad esempio "/applicationOne") e accodandoli al prefisso URI di base (ad esempio, "net.tcp://localhost") per arrivare all'URI completo dell'applicazione.

La tabella seguente illustra diversi possibili scenari di indirizzamento per i siti WAS con associazioni di siti HTTP e non HTTP.

Scenario Associazioni di rete del sito Percorso dell'applicazione URI dell'applicazione di base
Solo HTTP http: *:80:* /appTwo http://localhost/appTwo/
HTTP e non HTTP http: *:80:*

net.tcp: 808:*
/appTwo http://localhost/appTwo/
net.tcp://localhost/appTwo/
Solo non HTTP net.pipe: * /appThree net.pipe://appThree/

È anche possibile accedere ai servizi e alle risorse all'interno di un'applicazione. All'interno di un'applicazione, le risorse dell'applicazione vengono indirizzate rispetto al percorso dell'applicazione di base. Supponiamo, ad esempio, che un sito sul nome del computer contoso.com abbia associazioni di sito per i protocolli HTTP e Net.TCP. Si supponga inoltre che il sito contenga un'applicazione che si trova in /Billing, che espone un servizio in GetOrders.svc. Quindi, se il servizio GetOrders.svc ha esposto un endpoint con un indirizzo relativo di SecureEndpoint, l'endpoint del servizio verrà esposto nei due URI seguenti:

  • http://contoso.com/Billing/GetOrders.svc/SecureEndpoint
  • net.tcp://contoso.com/Billing/GetOrders.svc/SecureEndpoint

The WAS Runtime

Le applicazioni sono organizzate in siti ai fini dell'indirizzamento e della gestione. In fase di esecuzione, le applicazioni vengono raggruppate anche in pool di applicazioni. Un pool di applicazioni può ospitare molte applicazioni diverse da molti siti diversi. Tutte le applicazioni all'interno di un pool di applicazioni condividono un set comune di caratteristiche di runtime. Ad esempio, tutte vengono eseguite nella stessa versione di Common Language Runtime (CLR) e condividono tutte un'identità di processo comune. Ogni pool di applicazioni corrisponde a un'istanza di un processo di lavoro (w3wp.exe). Ogni applicazione gestita in esecuzione all'interno di un pool di applicazioni condivise è isolata da altre applicazioni tramite un AppDomain CLR.

Vedere anche