Aktywacja oparta na konfiguracji w usługach IIS i WAS
Zwykle w przypadku hostowania usługi Windows Communication Foundation (WCF) w usługach Internet Information Services (IIS) lub Windows Process Activation Service (WAS) należy podać plik svc. Plik svc zawiera nazwę usługi i opcjonalną niestandardową fabrykę hostów usług. Ten dodatkowy plik zwiększa obciążenie związane z zarządzaniem. Funkcja aktywacji oparta na konfiguracji usuwa wymaganie, aby mieć plik svc i w związku z tym skojarzone obciążenie.
Aktywacja oparta na konfiguracji
Aktywacja oparta na konfiguracji pobiera metadane, które były umieszczane w pliku svc i umieszcza je w pliku Web.config. W elemecie<serviceHostingEnvironment>
znajduje się <serviceActivations>
element . W elemecie <serviceActivations>
znajduje się co najmniej jeden <add>
element dla każdej hostowanej usługi. Element <add>
zawiera atrybuty, które umożliwiają ustawienie względnego adresu dla usługi oraz typu usługi lub fabryki hostów usług. Poniższy przykładowy kod konfiguracji przedstawia sposób użycia tej sekcji.
Uwaga
Każdy <add>
element musi określać usługę lub atrybut fabryki. Określanie atrybutów usługi i fabryki jest dozwolone.
<serviceHostingEnvironment>
<serviceActivations>
<add relativeAddress="MyServiceAddress" service="Service" factory="MyServiceHostFactory"/>
</serviceActivations>
</serviceHostingEnvironment>
Dzięki temu w pliku Web.config można umieścić kod źródłowy usługi w katalogu App_Code aplikacji lub zgodnym zestawie w katalogu Bin aplikacji.
Uwaga
- W przypadku korzystania z aktywacji opartej na konfiguracji kod wbudowany w plikach svc nie jest obsługiwany.
- Atrybut
relativeAddress
musi być ustawiony na adres względny, taki jak "<sub-directory>/service.svc" lub "~/<sub-directory/service.svc". - Wyjątek konfiguracji jest zgłaszany, jeśli zarejestrujesz adres względny, który nie ma znanego rozszerzenia skojarzonego z usługą WCF.
- Określony adres względny jest względny względem katalogu głównego aplikacji wirtualnej.
- Ze względu na hierarchiczny model konfiguracji zarejestrowane adresy względne na poziomie maszyny i lokacji są dziedziczone przez aplikacje wirtualne.
- Rejestracje w pliku konfiguracji mają pierwszeństwo przed ustawieniami w pliku .svc, .xamlx, .xoml lub innym pliku.
- Każdy znak "\" (ukośniki odwrotne) w identyfikatorze URI wysłanym do usług IIS/WAS jest automatycznie konwertowany na znak "/" (ukośnik do przodu). Jeśli dodano adres względny zawierający znak "\" i wysyłasz usługom IIS identyfikator URI używający adresu względnego, ukośnik odwrotny jest konwertowany na ukośnik do przodu, a usługi IIS nie mogą dopasować go do adresu względnego. Usługi IIS wysyłają informacje śledzenia wskazujące, że nie znaleziono dopasowań.