Udostępnij za pośrednictwem


Rozszerzalność syndykacji

Interfejs API syndykacji został zaprojektowany w celu zapewnienia modelu programowania neutralnego od formatu, który umożliwia zapisywanie zawartości syndykacyjnej w przewodach w różnych formatach. Model abstrakcyjnych danych składa się z następujących klas:

Te klasy są ściśle mapowane na konstrukcje zdefiniowane w specyfikacji Atom 1.0, chociaż niektóre nazwy są różne.

Kluczową cechą protokołów syndykacji jest rozszerzalność. Zarówno Atom 1.0, jak i RSS 2.0, dodają atrybuty i elementy do źródeł danych syndykacji, które nie są zdefiniowane w specyfikacji. Model programowania syndykacji programu Windows Communication Foundation (WCF) zapewnia następujące sposoby pracy z atrybutami niestandardowymi i rozszerzeniami, luźno wpisanym dostępem i wyprowadzeniem nowej klasy.

Luźno wpisany dostęp

Dodanie rozszerzeń przez wyprowadzenie nowej klasy wymaga pisania dodatkowego kodu. Inną opcją jest uzyskiwanie dostępu do rozszerzeń w sposób luźno wpisany. Wszystkie typy zdefiniowane w modelu danych abstrakcyjnych syndykacji zawierają właściwości o nazwie AttributeExtensions i ElementExtensions (z jednym wyjątkiem ma AttributeExtensions właściwość, SyndicationContent ale nie ma ElementExtensions właściwości). Te właściwości to kolekcje rozszerzeń, które nie są przetwarzane odpowiednio przez TryParseAttribute metody i TryParseElement . Dostęp do tych nieprzetworzonych rozszerzeń można uzyskać, wywołując SyndicationElementExtensionCollection.ReadElementExtensions właściwość , , SyndicationItem, SyndicationPersonSyndicationLinki SyndicationCategory.SyndicationFeedElementExtensions Ten zestaw metod znajduje wszystkie rozszerzenia o określonej nazwie i przestrzeni nazw, deserializuje je indywidualnie w wystąpieniach TExtension i zwraca je jako kolekcję TExtension obiektów.

Wyprowadzanie nowej klasy

Możesz utworzyć nową klasę z dowolnej z istniejących abstrakcyjnych klas modelu danych. Należy to zrobić podczas implementowania aplikacji, w której większość kanałów informacyjnych, z którymi pracujesz, ma określone rozszerzenie. W tym temacie większość kanałów informacyjnych, z którymi program współpracuje, zawiera MyExtension rozszerzenie. Aby zapewnić ulepszone środowisko programowania, wykonaj następujące czynności:

Zobacz też