Dela via


Värd i Windows processaktiveringstjänst

Windows Process Activation Service (WAS) hanterar aktiveringen och livslängden för de arbetsprocesser som innehåller program som är värdar för WCF-tjänster (Windows Communication Foundation). WAS-processmodellen generaliserar IIS 6.0-processmodellen för HTTP-servern genom att ta bort beroendet av HTTP. Detta gör att WCF-tjänster kan använda både HTTP- och icke-HTTP-protokoll, till exempel Net.TCP, i en värdmiljö som stöder meddelandebaserad aktivering och ger möjlighet att vara värd för ett stort antal program på en viss dator.

Mer information om hur du skapar en WCF-tjänst som körs i WAS-värdmiljön finns i Så här: Värd för en WCF-tjänst i WAS.

WAS-processmodellen innehåller flera funktioner som gör att program kan hanteras på ett sätt som är mer robust, mer hanterbart och som använder resurser effektivt:

  • Meddelandebaserad aktivering av program och arbetsprocessprogram startar och stoppas dynamiskt som svar på inkommande arbetsobjekt som tas emot med hjälp av HTTP- och icke-HTTP-nätverksprotokoll.

  • Robust återanvändning av program- och arbetsprocesser för att upprätthålla hälsotillståndet för program som körs.

  • Centraliserad programkonfiguration och hantering.

  • Gör att program kan dra nytta av IIS-processmodellen utan att kräva distributionsfotavtrycket för en fullständig IIS-installation.
    Windows Server AppFabric fungerar med IIS 7.0 och Windows Process Activation Service (WAS) för att tillhandahålla en omfattande programvärdmiljö för NET4 WCF- och WF-tjänster. Dessa fördelar är processlivscykelhantering, processåtervinning, delad värd, snabbt felskydd, överblivna processer, aktivering på begäran och hälsoövervakning. Detaljerad information finns i AppFabric Hosting Features and AppFabric Hosting Concepts (AppFabric Hosting Concepts).

Element i WAS-adresseringsmodellen

Program har URI-adresser (Uniform Resource Identifier), som är de kodenheter vars livslängd och körningsmiljö hanteras av servern. En enskild WAS-serverinstans kan vara hem för många olika program. Servrar organiserar program i grupper som kallas platser. På en plats ordnas program på ett hierarkiskt sätt som återspeglar strukturen för de URI:er som fungerar som deras externa adresser.

Programadresser har två delar: ett bas-URI-prefix och en programspecifik, relativ adress (sökväg) som anger den externa adressen för ett program när det kopplas samman. Bas-URI-prefixet är konstruerat från platsbindningen och används för alla program under webbplatsen. Programadresser skapas sedan genom att programspecifika sökvägsfragment (till exempel "/applicationOne") och lägga till dem i bas-URI-prefixet (till exempel "net.tcp://localhost") för att komma fram till den fullständiga program-URI:n.

I följande tabell visas flera möjliga adresseringsscenarier för WAS-webbplatser med både HTTP- och icke-HTTP-platsbindningar.

Scenario Webbplatsbindningar Application path URI:er för basprogram
Endast HTTP http: *:80:* /appTwo http://localhost/appTwo/
Både HTTP och icke-HTTP http: *:80:*

net.tcp: 808:*
/appTwo http://localhost/appTwo/
net.tcp://localhost/appTwo/
Endast icke-HTTP net.pipe: * /appThree net.pipe://appThree/

Tjänster och resurser i ett program kan också åtgärdas. I ett program adresseras programresurser i förhållande till den grundläggande programsökvägen. Anta till exempel att en plats på ett datornamn contoso.com har platsbindningar för både HTTP- och Net.TCP-protokollen. Anta också att webbplatsen innehåller ett program som finns på /Billing, som exponerar en tjänst på GetOrders.svc. Om tjänsten GetOrders.svc sedan exponerade en slutpunkt med en relativ adress för SecureEndpoint skulle tjänstslutpunkten exponeras på följande två URI:er:

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

The WAS Runtime

Program organiseras på webbplatser för adressering och hantering. Vid körning grupperas program också tillsammans i programpooler. En programpool kan innehålla många olika program från många olika platser. Alla program i en programpool har en gemensam uppsättning körningsegenskaper. Till exempel körs alla under samma version av CLR (Common Language Runtime) och de delar alla en gemensam processidentitet. Varje programpool motsvarar en instans av en arbetsprocess (w3wp.exe). Varje hanterat program som körs i en delad programpool isoleras från andra program med hjälp av en CLR AppDomain.

Se även