Delen via


Uitbreidbaarheid van syndicatie

De Syndication-API is ontworpen om een indelingsneutraal programmeermodel te bieden waarmee gesyndiceerde inhoud in verschillende indelingen naar de draad kan worden geschreven. Het abstracte gegevensmodel bestaat uit de volgende klassen:

Deze klassen zijn nauw gekoppeld aan de constructies die zijn gedefinieerd in de Atom 1.0-specificatie, hoewel sommige van de namen verschillen.

Een belangrijke functie van syndicatieprotocollen is uitbreidbaarheid. Zowel Atom 1.0 als RSS 2.0 voegen kenmerken en elementen toe aan syndicatiefeeds die niet zijn gedefinieerd in de specificaties. Het WCF-model (Windows Communication Foundation) voor syndicatie biedt de volgende manieren om te werken met aangepaste kenmerken en extensies, losjes getypte toegang en het afleiden van een nieuwe klasse.

Losjes getypte toegang

Als u extensies toevoegt door een nieuwe klasse af te leiden, moet u extra code schrijven. Een andere optie is het openen van extensies op een losjes getypte manier. Alle typen die in het abstracte gegevensmodel voor syndicatie zijn gedefinieerd, bevatten eigenschappen met de naam AttributeExtensions en ElementExtensions (met één uitzondering SyndicationContent heeft een AttributeExtensions eigenschap, maar geen ElementExtensions eigenschap). Deze eigenschappen zijn verzamelingen extensies die niet door respectievelijk de TryParseAttribute en TryParseElement methoden worden verwerkt. U hebt toegang tot deze niet-verwerkte extensies door aan te roepen SyndicationElementExtensionCollection.ReadElementExtensions op de ElementExtensions eigenschap van SyndicationFeed, SyndicationItem, SyndicationLink, , SyndicationPersonen SyndicationCategory. Met deze set methoden worden alle extensies met de opgegeven naam en naamruimte gevonden, worden ze afzonderlijk gedeserialiseerd in exemplaren van TExtension en worden ze geretourneerd als een verzameling TExtension objecten.

Een nieuwe klasse afleiden

U kunt een nieuwe klasse afleiden uit een van de bestaande abstracte gegevensmodelklassen. Doe dit wanneer u een toepassing implementeert waarin de meeste feeds waarmee u werkt, een bepaalde extensie hebben. In dit onderwerp bevatten de meeste feeds waarmee het programma werkt een MyExtension extensie. Voer de volgende stappen uit om een verbeterde programmeerervaring te bieden:

Zie ook