Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
В примере JsonFeeds показано, как сериализовать экземпляр класса в формате нотации объектов JavaScript (JSON) с помощью настраиваемого SyndicationFeed и SyndicationFeedFormatter.
Архитектура примера
В примере реализуется класс с именем JsonFeedFormatter , наследуемым от SyndicationFeedFormatter. Класс JsonFeedFormatter полагается на DataContractJsonSerializer для чтения и записи данных в формате JSON. Во внутреннем режиме средство форматирования использует настраиваемый набор типов контрактов данных с именем JsonSyndicationFeed и JsonSyndicationItem для управления форматом данных JSON, созданных сериализатором. Эти сведения о реализации скрыты от конечного пользователя, что позволяет выполнять вызовы к стандарту SyndicationFeed и SyndicationItem классам.
Создание JSON-каналов
Написание веб-канала JSON можно выполнить с помощью JsonFeedFormatter (реализованного в этом примере) с DataContractJsonSerializer, как показано в приведенном ниже примере кода.
//Basic feed with sample data
SyndicationFeed feed = new SyndicationFeed("Custom JSON feed", "A Syndication extensibility sample", null);
feed.LastUpdatedTime = DateTime.Now;
feed.Items = from s in new string[] { "hello", "world" }
select new SyndicationItem()
{
Summary = SyndicationContent.CreatePlaintextContent(s)
};
//Write the feed out to a MemoryStream in JSON format
DataContractJsonSerializer writeSerializer = new DataContractJsonSerializer(typeof(JsonFeedFormatter));
writeSerializer.WriteObject(stream, new JsonFeedFormatter(feed));
Чтение JSON-потока
Получение SyndicationFeed из потока данных в формате JSON можно выполнить с помощью JsonFeedFormatter, как показано в следующем коде.
//Read in the feed using the DataContractJsonSerializer
DataContractJsonSerializer readSerializer = new DataContractJsonSerializer(typeof(JsonFeedFormatter));
JsonFeedFormatter formatter = readSerializer.ReadObject(stream) as JsonFeedFormatter;
SyndicationFeed feedRead = formatter.Feed;
Настройка, сборка и запуск примера
Убедитесь, что вы выполнили процедуру настройки One-Time для образцов Windows Communication Foundation.
Чтобы создать версию решения на C# или Visual Basic .NET, следуйте инструкциям по сборке примеров Windows Communication Foundation .
Чтобы запустить пример в конфигурации с одним или несколькими компьютерами, следуйте инструкциям в запуска примеров Windows Communication Foundation.