Sdílet prostřednictvím


Úvod do rozšíření

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í.

  • Modul runtime hostitele. Tím se rozšíří vztah domény hostitelské aplikace do kanálu a modulu runtime aplikace.

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 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ů. Pokud chcete vytvořit nové funkce na úrovni aplikace, musíte rozšířit službu nebo modul runtime klienta (dispečery a 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šiřování 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.

Viz také