Dela via


Utökningsbarhet för syndikering

API för syndikering är utformat för att tillhandahålla en format-neutral programmeringsmodell som möjliggör att syndikerat innehåll kan skickas över nätet 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.

Svagt typad å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-metoden och TryParseElement-metoden respektive. Du kan komma åt dessa obearbetade tillägg genom att anropa SyndicationElementExtensionCollection.ReadElementExtensionsElementExtensions-egenskapen av SyndicationFeed, SyndicationItem, SyndicationLink, SyndicationPerson, och 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 en applikation där de flesta flöden du arbetar med har ett specifikt tillägg. I det här avsnittet innehåller de flesta flöden som programmet hanterar ett MyExtension-tillägg. Gör följande för att ge en bättre programmeringsupplevelse:

Se även