Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
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.ReadElementExtensions på ElementExtensions-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:
Skapa en klass för att lagra tilläggsdata. I det här fallet skapar du en klass med namnet MyExtension.
Härled en klass med namnet MyExtensionItem från SyndicationItem för att exponera en egenskap av typen MyExtension i programmeringssyfte.
Åsidosätt TryParseElement(XmlReader, String) i klassen MyExtensionItem för att instansiera en ny MyExtension-instans när en MyExtension läss in.
Åsidosätt WriteElementExtensions(XmlWriter, String) i klassen MyExtensionItem för att skriva innehållet i egenskapen MyExtension till en XML-skrivare.
Härled en klass med namnet MyExtensionFeed från SyndicationFeed.
Åsidosätt CreateItem() i klassen MyExtensionFeed för att instansiera en MyExtensionItem i stället för standardvärdet SyndicationItem. En serie metoder definieras i SyndicationFeed och SyndicationItem som kan skapa SyndicationLink, SyndicationCategoryoch SyndicationPerson objekt (till exempel CreateLink(), CreateCategory()och CreatePerson()). Allt detta kan åsidosättas för att skapa en anpassad härledd klass.