Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Aplikační model WCF (Windows Communication Foundation) je navržený tak, aby vyřešil větší část komunikačních požadavků všech distribuovaných aplikací. Existují však vždy scénáře, které výchozí aplikační model a systémové implementace nepodporují. Model rozšiřitelnosti WCF je určený k podpoře vlastních scénářů tím, že umožňuje měnit chování systému na všech úrovních, a to i v okamžiku nahrazení celého aplikačního modelu. Toto téma popisuje různé oblasti rozšíření a odkazuje na další informace o jednotlivých oblastech.
Oblasti, které se mají rozšířit
Můžete rozšířit:
Modul runtime aplikace. Tím se rozšíří odesílání a zpracování zpráv pro aplikaci. Tato oblast zahrnuje také rozšíření systému zabezpečení, systému metadat, systému serializace a vazeb a prvků vazeb, které propojují aplikaci se systémem podkladových kanálů.
Kanál a modul runtime kanálu. Tím se rozšíří systém, který funguje na úrovni zpráv, poskytuje podporu protokolu, přenosu a kódování.
Hostitelské runtime Tím se rozšíří vztah hostitelské aplikační domény ke kanálu a aplikačnímu runtime prostředí.
Rozšíření modulu runtime aplikace
V aplikacích WCF existuje rozdíl mezi zprávami určenými pro odpovídající kanál a zprávy určené pro samotnou aplikaci. Zprávy kanálu podporují některé funkce související s kanály, například vytvoření zabezpečené konverzace nebo vytvoření spolehlivé relace. Tyto zprávy nejsou k dispozici pro modul runtime aplikace; zpracovávají se před zapojením aplikační vrstvy.
Zprávy aplikace obsahují data určená pro operaci klienta nebo služby, kterou jste vy nebo váš zákazník vytvořili. Tyto zprávy jsou dostupné pro systém rozšíření na úrovni aplikace ve formě zprávy nebo objektu v závislosti na vašich potřebách.
Všechny zprávy procházejí systémem kanálů; do aplikace se předávají pouze zprávy aplikace ze systému kanálů. Pokud chcete vytvořit nové funkce na úrovni kanálu, musíte rozšířit systém kanálů. Pro rozšíření funkčnosti na úrovni aplikace musíte rozšířit runtime služby (dispečery) nebo runtime klienta (továrny kanálů). Další informace o rozšíření modulu runtime aplikace naleznete v tématu Rozšíření ServiceHost a vrstvy modelu služby.
Rozšíření zabezpečení
Pokud chcete vytvořit vlastní mechanismy zabezpečení, jako jsou tokeny a přihlašovací údaje, musíte rozšířit systém zabezpečení. Další informace naleznete v tématu Rozšíření zabezpečení.
Rozšíření metadat
Pokud chcete zpřístupnit metadata jinak než výchozí, musíte rozšířit systém metadat. Další informace naleznete v tématu Rozšíření systému metadat.
Rozšíření serializace
Chcete-li vytvářet vlastní kodéry, poskytovat náhradní data nebo jiné práce zahrnující přizpůsobení přenášených dat, je nutné rozšířit serializační systém. Další informace naleznete v tématu Rozšíření kodérů a serializátorů.
Rozšíření vazeb
Chcete-li přidružit přenosové nebo protokolové kanály k aplikační vrstvě, musíte rozšířit systém vazeb. Další informace naleznete v tématu Rozšíření vazeb.
Rozšíření systému kanálů
Pokud chcete vytvořit kanály, které podporují vlastní přenosy nebo funkce protokolu, přečtěte si téma Rozšíření vrstvy kanálu.
Rozšíření hostitelského systému služby
Chcete-li upravit aplikační model pro celou službu, musíte rozšířit System.ServiceModel.ServiceHostBase třídu. Další informace naleznete v tématu Rozšíření ServiceHost a vrstvy modelu služby.
Chcete-li změnit vztah mezi doménou hostitelské aplikace a hostitelem služby, musíte rozšířit System.ServiceModel.Activation.ServiceHostFactory třídu. Další informace naleznete v tématu Rozšíření hostování pomocí ServiceHostFactory.