Rozšiřitelnost syndikace

Rozhraní SYNDICATION API je navržené tak, aby poskytovalo formátově neutrální programovací model, který umožňuje zápis syndikovaného obsahu do drátu v různých formátech. Abstraktní datový model se skládá z následujících tříd:

Tyto třídy mapují úzce na konstrukty definované ve specifikaci Atom 1.0, i když některé názvy jsou odlišné.

Klíčovou funkcí syndikačních protokolů je rozšiřitelnost. Atom 1.0 i RSS 2.0 přidávají atributy a prvky do kanálů syndikace, které nejsou definovány ve specifikacích. Programovací model syndikace WCF (Windows Communication Foundation) poskytuje následující způsoby práce s vlastními atributy a rozšířeními, přístupem s volně definovanými typy a odvozením nové třídy.

Volně zadaný přístup

Přidání rozšíření odvozením nové třídy vyžaduje zápis dalšího kódu. Další možností je přístup k rozšířením volně napsaným způsobem. Všechny typy definované v abstraktním syndikačním datovém modelu obsahují vlastnosti pojmenované AttributeExtensions a ElementExtensions (s jednou výjimkou, SyndicationContent má vlastnost AttributeExtensions, ale nemá vlastnost ElementExtensions). Tyto vlastnosti jsou kolekce rozšíření, které nejsou zpracovány metodami TryParseAttribute a TryParseElement. K těmto nezpracovaným rozšířením můžete přistupovat voláním SyndicationElementExtensionCollection.ReadElementExtensions na ElementExtensions vlastnosti SyndicationFeed, SyndicationItem, SyndicationLink, SyndicationPerson a SyndicationCategory. Tato sada metod najde všechna rozšíření se zadaným názvem a oborem názvů, deserializuje je jednotlivě do instancí TExtension a vrátí je jako kolekci TExtension objektů.

Odvození nové třídy

Novou třídu můžete odvodit z jakékoli z existujících abstraktních tříd datového modelu. Proveďte to při implementaci aplikace, ve které má většina informačních kanálů, se kterými pracujete, konkrétní rozšíření. V tomto tématu většina informačních kanálů, se kterými program pracuje, obsahuje rozšíření MyExtension. Pokud chcete poskytnout vylepšené možnosti programování, proveďte následující kroky:

Viz také