Delen via


Activering op basis van configuratie in IIS en WAS

Normaal gesproken moet u een .svc-bestand opgeven wanneer u een WCF-service (Windows Communication Foundation) host onder Internet Information Services (IIS) of Windows Process Activation Service (WAS). Het .svc-bestand bevat de naam van de service en een optionele aangepaste servicehostfactory. Dit extra bestand voegt beheerbaarheidsoverhead toe. De activeringsfunctie op basis van configuratie verwijdert de vereiste om een .svc-bestand te hebben en daarom de bijbehorende overhead.

Activering op basis van configuratie

Activering op basis van configuratie gebruikt de metagegevens die voorheen in het .svc-bestand zijn geplaatst en plaatst deze in het Web.config-bestand. Binnen het<serviceHostingEnvironment> element is er een <serviceActivations> element. Binnen het <serviceActivations> element bevinden zich een of meer <add> elementen, één voor elke gehoste service. Het <add> element bevat kenmerken waarmee u het relatieve adres voor de service en het servicetype of een servicehostfactory kunt instellen. De volgende configuratievoorbeeldcode laat zien hoe deze sectie wordt gebruikt.

Notitie

Elk <add> element moet een service of een fabriekskenmerk opgeven. Het opgeven van service- en factorykenmerken is toegestaan.

<serviceHostingEnvironment>
  <serviceActivations>
    <add relativeAddress="MyServiceAddress" service="Service" factory="MyServiceHostFactory"/>
  </serviceActivations>
</serviceHostingEnvironment>

Met dit in het web.config-bestand kunt u de broncode van de service in de App_Code map van de toepassing of een conforme assembly in de bin-map van de toepassing plaatsen.

Notitie

  • Wanneer u activering op basis van configuratie gebruikt, wordt inlinecode in .svc-bestanden niet ondersteund.
  • Het relativeAddress kenmerk moet worden ingesteld op een relatief adres, zoals '<submap>/service.svc' of '~/<sub-directory/service.svc'.
  • Er wordt een configuratie-uitzondering gegenereerd als u een relatief adres registreert waarvoor geen bekende extensie is gekoppeld aan WCF.
  • Het opgegeven relatieve adres is relatief ten opzichte van de hoofdmap van de virtuele toepassing.
  • Vanwege het hiërarchische configuratiemodel worden de geregistreerde relatieve adressen op machine- en siteniveau overgenomen door virtuele toepassingen.
  • Registraties in een configuratiebestand hebben voorrang op instellingen in een .svc-, .xamlx-, .xoml- of ander bestand.
  • Alle '\' (backslashes) in een URI die naar IIS/WAS wordt verzonden, worden automatisch geconverteerd naar een '/' (slash). Als er een relatief adres wordt toegevoegd dat een '\' bevat en u IIS een URI verzendt die gebruikmaakt van het relatieve adres, wordt de backslash geconverteerd naar een slash en kan IIS niet overeenkomen met het relatieve adres. IIS verzendt traceringsinformatie die aangeeft dat er geen overeenkomsten zijn gevonden.

Zie ook