Konfigurationsbaserad aktivering i IIS och WAS
Normalt när du är värd för en WCF-tjänst (Windows Communication Foundation) under Internet Information Services (IIS) eller Windows Process Activation Service (WAS) måste du ange en .svc-fil. .svc-filen innehåller namnet på tjänsten och en valfri värdfabrik för anpassad tjänst. Den här ytterligare filen lägger till hanterbarhetskostnader. Den konfigurationsbaserade aktiveringsfunktionen tar bort kravet på att ha en .svc-fil och därmed tillhörande omkostnader.
Konfigurationsbaserad aktivering
Konfigurationsbaserad aktivering tar de metadata som tidigare placerades i .svc-filen och placerar dem i web.config-filen. I elementet<serviceHostingEnvironment>
finns ett <serviceActivations>
element. I elementet <serviceActivations>
finns ett eller flera <add>
element, ett för varje värdbaserad tjänst. Elementet <add>
innehåller attribut som gör att du kan ange den relativa adressen för tjänsten och tjänsttypen eller en tjänstvärdfabrik. Följande konfigurationsexempelkod visar hur det här avsnittet används.
Kommentar
Varje <add>
element måste ange en tjänst eller ett fabriksattribut. Det är tillåtet att ange både tjänst- och fabriksattribut.
<serviceHostingEnvironment>
<serviceActivations>
<add relativeAddress="MyServiceAddress" service="Service" factory="MyServiceHostFactory"/>
</serviceActivations>
</serviceHostingEnvironment>
Med detta i filen Web.config kan du placera tjänstens källkod i App_Code-katalogen för programmet eller en kompatibel sammansättning i programmets bin-katalog.
Kommentar
- När du använder konfigurationsbaserad aktivering stöds inte infogad kod i .svc-filer.
- Attributet
relativeAddress
måste anges till en relativ adress, till exempel "<sub-directory>/service.svc" eller "~/<sub-directory/service.svc". - Ett konfigurationsfel utlöses om du registrerar en relativ adress som inte har ett känt tillägg som är associerat med WCF.
- Den angivna relativa adressen är relativ till roten för det virtuella programmet.
- På grund av den hierarkiska konfigurationsmodellen ärvs de registrerade relativa adresserna på dator- och platsnivå av virtuella program.
- Registreringar i en konfigurationsfil har företräde framför inställningar i en .svc-, .xamlx-, .xoml- eller annan fil.
- Alla "\" (omvänt snedstreck) i en URI som skickas till IIS/WAS konverteras automatiskt till ett "/" (snedstreck). Om en relativ adress läggs till som innehåller en '\' och du skickar en IIS-URI som använder den relativa adressen konverteras omvänt snedstreck till ett snedstreck och IIS kan inte matcha det med den relativa adressen. IIS skickar spårningsinformation som anger att inga matchningar hittas.