Dela via


Utökningsbarhet för syndikering

Syndikerings-API:et är utformat för att tillhandahålla en formatneutral programmeringsmodell som gör att syndikerat innehåll kan skrivas till tråden i olika format. Den abstrakta datamodellen består av följande klasser:

Dessa klasser mappar nära de konstruktioner som definieras i Atom 1.0-specifikationen, även om vissa av namnen är olika.

En viktig funktion i syndikeringsprotokoll är utökningsbarhet. Både Atom 1.0 och RSS 2.0 lägger du till attribut och element i syndikeringsfeeds som inte definieras i specifikationerna. Programmeringsmodellen för Windows Communication Foundation (WCF) ger följande sätt att arbeta med anpassade attribut och tillägg, löst typinskriven åtkomst och härleda en ny klass.

Löst inskriven åtkomst

Att lägga till tillägg genom att härleda en ny klass kräver att du skriver ytterligare kod. Ett annat alternativ är att komma åt tillägg på ett löst skrivet sätt. Alla typer som definierats i den abstrakta datamodellen för syndikering innehåller egenskaper med namnet AttributeExtensions och ElementExtensions (med ett undantag SyndicationContent har en AttributeExtensions egenskap men ingen ElementExtensions egenskap). Dessa egenskaper är samlingar av tillägg som inte bearbetas av TryParseAttribute metoderna och TryParseElement . Du kan komma åt dessa obearbetade tillägg genom att anropa SyndicationElementExtensionCollection.ReadElementExtensionsElementExtensions egenskapen SyndicationFeed, , SyndicationItemSyndicationLink, SyndicationPersonoch SyndicationCategory. Den här uppsättningen metoder hittar alla tillägg med det angivna namnet och namnområdet, deserialiserar dem individuellt i instanser av TExtension och returnerar dem som en samling TExtension objekt.

Härleda en ny klass

Du kan härleda en ny klass från någon av de befintliga abstrakta datamodellklasserna. Gör detta när du implementerar ett program där de flesta feeds som du arbetar med har ett visst tillägg. I det här avsnittet innehåller de flesta feeds som programmet fungerar med ett MyExtension tillägg. Gör följande för att ge en bättre programmeringsupplevelse:

Se även