Partager via


Extensibilité de syndication

L’API Syndication est conçue pour fournir un modèle de programmation neutre en format qui permet à un contenu syndiqué d’être écrit dans le câble dans un large éventail de formats. Le modèle de données abstrait se compose des classes suivantes :

Ces classes correspondent étroitement aux constructions définies dans la spécification Atom 1.0, bien que certains noms soient différents.

Une fonctionnalité clé des protocoles de syndication est l’extensibilité. Atom 1.0 et RSS 2.0, ajoutez des attributs et des éléments aux flux de syndication qui ne sont pas définis dans les spécifications. Le modèle de programmation de syndication Windows Communication Foundation (WCF) fournit les méthodes suivantes d’utilisation d’attributs et d’extensions personnalisés, d’un accès faiblement typé et de dérivation d’une nouvelle classe.

Accès peu typé

L’ajout d’extensions en dérivant une nouvelle classe nécessite l’écriture de code supplémentaire. Une autre option accède aux extensions d’une manière peu typée. Tous les types définis dans le modèle de données abstrait de syndication contiennent des propriétés nommées AttributeExtensions et ElementExtensions (à une exception près, SyndicationContent possède une AttributeExtensions propriété mais aucune ElementExtensions propriété). Ces propriétés sont des collections d’extensions non traitées respectivement par les méthodes TryParseAttribute et TryParseElement. Vous pouvez accéder à ces extensions non traitées en appelant SyndicationElementExtensionCollection.ReadElementExtensions sur la ElementExtensions propriété de SyndicationFeed, , SyndicationItem, SyndicationLink, SyndicationPersonet SyndicationCategory. Cet ensemble de méthodes recherche toutes les extensions avec le nom et l’espace de noms spécifiés, les désérialise individuellement en instances de TExtension et les retourne sous la forme d'une collection d’objets TExtension.

Dérivation d’une nouvelle classe

Vous pouvez dériver une nouvelle classe de l’une des classes de modèle de données abstraites existantes. Lorsque vous implémentez une application où la plupart des flux que vous traitez possèdent une extension particulière, faites cela. Dans cette rubrique, la plupart des flux que le programme utilise contiennent une MyExtension extension. Pour offrir une expérience de programmation améliorée, procédez comme suit :

Voir aussi