26

Feb

TNX.RssReader & TNX.RssPublisher

ciao a tutti

 

sicuramente vi sarà capitato di dover esporre delle informazioni tramite un feed RSS su di un portale/applicazione web

come anche vi sarà capitato di dover fare applicazioni che leggano questo feed, sia per Windows, che per WinRT/WP8x

 

detto fatto, ho messo su Nuget due pacchetti molto leggeri e semplici, un pubblicatore per Response Http di ASP.NET e Stream generici:

Nuget “TNX.RssPublisher”

e anche un lettore compatibile con .NET 4.5, RT8x e WP8x

Nuget “TNX.RssReader”

 

ogni libreria ha il proprio RssHelper in grado di aiutarci a fare il necessario:

 

RssPublisher:

unico metodo PublishAsRss che accetta gli elementi da pubblicare e il dettaglio del feed per come sarà visibile online. come ultimo parametro, o la HttpResponse, o uno Stream

 

vediamo un esempio pratico:

using (var m = new MemoryStream())
{
    RssHelper.PublishAsRss(new[]
    {
        new RssItem
        {
            Title="Item1",
            Description = "Questo è l'item1",
            Link = "
http://www.dominio.com/rss/item1",
            PublicationUtcTime = DateTime.UtcNow,
            UniqueLinkOrName="
http://www.dominio.com/rss/item1"
        },
        new RssItem
        {
            Title="Item2",
            Description = "Questo è l'item2",
            Link = "
http://www.dominio.com/rss/item2",
            PublicationUtcTime = DateTime.UtcNow,
            UniqueLinkOrName="
http://www.dominio.com/rss/item2"
        },
    }, new RssDetail
    {
        Title = "Feed di test",
        Description = "Questo è un test",
        Language = new CultureInfo("it-IT"),
        EditorNameOrEmail = "Antonio",
        Link = "
http://www.dominio.com/rss",
        PublicationUtcTime = DateTime.UtcNow,
        WebMasterNameOrEmail = "Antonio",
    }, m);

    //qui troveremo il nostro rss scritto sullo Stream!
    //il codice sarebbe identico per scrivere nell'HttpResponse
    var rss = Encoding.UTF8.GetString(m.ToArray());

    //volendo possiamo rileggerlo usando l'altro RssHelper della libreria RssReader
    //anche questa molto facile, e comodamente usabile in tutti i framework, WP8 compreso
    //il reader supporta anche l'async/await
    using (var readerStream = new MemoryStream(m.ToArray()))
    {
        var feed = TNX.RssReader.RssHelper.ReadFeed(readerStream);
    }
}

 

 

a presto

by Antonio Esposito on 2/26/2014
Post archive