Leggere un feed RSS grazie alla classe SyndicationFeed

by Andrea Dottor 14 August 2013 10:57

Dalla versione 3.5 del .NET Framework è presente la classe SyndicationFeed all’interno del namespace System.ServiceModel.Syndication, che nel framework 3.5 è contenuta nell’assembly System.ServiceModel.Web mentre dal framework 4 la trovate all’interno dell’assembly System.ServiceModel.

Link MSDN: SyndicationFeed Class

Questa classe fornisce i metodi per leggere e scrivere con facilità un feed RSS 2.0 e/o Atom 1.0.

Ecco qui un esempio che dimostra la facilità di utilizzo di questa classe. Il seguente codice permette di recuperare il contenuto di un feed, come ad esempio l’elenco dei post esposti dal feed di un blog:

/// <summary>
/// Classe che rappresenta un elemento contenuto all'interno di un feed RSS
/// </summary>
public class FeedItem
{
    public string Title { get; set; }

    public string Description { get; set; }

    public DateTime Date { get; set; }

    public string Url { get; set; }
}

/// <summary>
/// Metodo che ritorna gli item di un feed RSS, dato l'url del feed
/// </summary>
/// <param name="feedUrl">Url del feed RSS</param>
/// <returns>Elenco di elementi contenuti nel feed</returns>
public IEnumerable<FeedItem> GetPosts(string feedUrl)
{
    List<FeedItem> posts = new List<FeedItem>();
    using (XmlReader reader = XmlReader.Create(feedUrl))
    {
        SyndicationFeed feed = SyndicationFeed.Load(reader);
        reader.Close();
        foreach (SyndicationItem item in feed.Items)
        {
            FeedItem post = new FeedItem
                {
                    Description = item.Summary.Text,
                    Title = item.Title.Text,
                    Date = item.PublishDate.Date,
                    Url = item.Links.Count > 0 ? item.Links.First().GetAbsoluteUri().ToString() : null
                };
            posts.Add(post);
        }
    }

    return posts;
}

Tags: ,

.NET

Codice e slide della sessione Windows Azure - Abbattere tempi e costi di sviluppo

by Andrea Dottor 18 June 2013 16:25

Venerdì 7 Giugno 2013 ho tenuto la sessione “Windows Azure - Abbattere tempi e costi di sviluppo”.

In questa sessione vedremo come utilizzare Windows Azure per velocizzare e semplificare la realizzazione di applicazioni ASP.NET. Dallo sviluppo al deploy, passando per lo storage...andremo in dettaglio su varie funzionalità che ci faranno apprezzare ancora più la piattaforma Windows Azure.

 

Qui invece potete scaricare slide e codice della sessione “Riscrivere le query con SQLServer 2012” di Emanuele Zanchettin download

Tags: , , , ,

.NET | ASP .NET | XeDotNet | SQL Server

Convertire file Word in PDF – Aspose.Word for .NET

by Andrea Dottor 18 June 2013 16:08

Non faccio spesso pubblicità a componenti di terze parti, ma questa volta faccio un’eccezione in quando ha permesso a me (ed al mio cliente) di risparmiare molto molto tempo (e sappiamo che il tempo è denaro) :-).

aspose_words_netIl componente in questione è Aspose.Word for .NET.
Si tratta di una libreria che permette di leggere, modificare e convertire documenti Word (non solo .docx ma anche .doc).

Nel mio caso, avevo necessità di dover convertire dei documenti già generati, o da generare, da Word a PDF. Cercando in rete si trovano varie soluzioni ma che spesso richiedono Word installato nel server...e questo era assolutamente da evitare.

Guardando la documentazione di Aspose, scopro che con 2 sole righe di codice è possibile convertire un documento Word, in svariati formati tra cui il PDF. Incredulo, scarico subito la libreria (di prova) da Nuget (che trovate a questo link https://nuget.org/packages/Aspose.Words/), e cosa scopro?! Scopro che effettivamente tutto ciò è vero...2 righe di codice e potete convertire il documento Word in pdf, xps, epub, jpg, tiff, html, e molti altri formati.

Document doc = new Document("c:\\TestDocument.docx");
doc.Save("C:\\TestDocument.pdf", SaveFormat.Pdf);

La cosa ancora più eccezzionale è che questa libreria permette di lavorare in memoria utilizzando direttamente gli stream, che permetterebbe (come nel mio caso) di non dover modificare l’esistente logica di creazione dei file Word (generati con l’SDK di Open XML) e poter ritornare da una pagina web lo stream del file, senza la necessità di salvare nulla ne file-system.

at-glance-aspose-words-for-net

Spero che questo post aiuti chi si dovesse trovare nella mia stessa situazione.

Il costo della licenza non è proprio irrisorio, ma sono convinto del fatto che svilupparselo in casa avrebbe un costo decisamente superiore...e sicuramente non si arriverebbe ad avere per le mani una libreria completa come questa.

Tutti i documenti convertiti/creati fino ad ora hanno rispettato sotto tutti gli aspetti quelli del documento originale (stili, proprietà di pagina, colori, margini, ...) …e sono stati la motivazione per cui ho voluto scrivere questo post.

Tags: , ,

.NET | ASP .NET

Migliora il tuo codice con Knockout.js

by Andrea 30 March 2013 11:52

Venerdì 5 Aprile 2013 terrò un meeting dal titolo "Migliora il tuo codice con Knockout.js"

Abstract:
In questa sessione vedremo come Knockout.js permetta di scrivere codice JavaScript in modo pulito e organizzato, semplificando la scrittura del codice e la sua manutenzione. Come lo si utilizza KO? Quali vantaggi ci offre? Quali librerie ci vengono in aiuto? Quali sarebbe meglio evitare?

Ci troviamo a scrivere sempre più codice client-side, e utilizzare strumenti/librerie che ci permettano di aiutarci in questo compito è sicuramente un valore aggiunto, sia per i tempi di sviluppo, ma anche per la manutenzione del codice. Rendere il codice più leggibile, strutturare meglio l'applicazione, utilizzare strumenti validi sono solo alcune delle cose di cui vi parlerò.

Se non conoscete Knockout (http://knockoutjs.com/), questo meeting fa proprio al caso vostro. Vedrete le potenzialità di questa libreria, e scoprirete un paio di framework che combinati con KO vi aiuteranno davvero molto nello sviluppo JavaScript.

Per registrarvi: http://www.xedotnet.org/Home/Meeting/20130405

Tags: , , ,

.NET | JavaScript | jQuery | XeDotNet

Spostare i file temporanei di ASP.NET

by Andrea 30 March 2013 11:19

Quando eseguite una qualsiasi applicazione ASP.NET, il runtime genera alcuni file temporanei all'interno della cartella %FrameworkInstallLocation%\Temporary ASP.NET Files\ , e la dimensione che questa cartella può raggiungere non è da sottovalutare quando l'applicazione fa un forte uso di codice compilato a runtime oppure è composta da un'enormità di controlli e pagine.

Mi è capitato più volte di dover procere alla cancellazione manuale di questi file, ma in alcuni hosting non si ha accesso alla cartella Windows e suo sottocartelle per restrizioni date all'utente con cui ci si collega al server.

In queste casistiche si può risolvere la cosa spostando la cartella dei file temporanei dell'applicazione agendo direttamente nel web.config, andando a settare nel parametro compilation -> tempDirectory il percorso della cartella da utilizzare, rendendola così raggiungibile.
Prestate attenzione, in quanto dovete assegnare alla nuova cartella i permessi di scrittura e lettura all'utente con cui viene eseguita l'applicazione (solitamente specificato nell'application pool).

Esempio:

<compilation ... tempDirectory="C:\temp\mia_app_temp\"> ... </compilation>

Link documentazione MSDN:http://msdn.microsoft.com/en-us/library/s10awwz0(v=vs.85).aspx

Tags:

.NET | ASP .NET

Corso sviluppo mobile multipiattaforma

by Andrea Dottor 07 February 2013 12:25

Vorreste scrivere un’app mobile ma non sapete da dove cominciare?

Non avete mai approfondito lo sviluppo di app multipiattaforma?

Non sapete come esporre i dati per le vostre app?

Volete sapere se scrivere un’app con codice nativo o con tool simili a PhoneGap?

beh, allora non potete mancare al “Corso sviluppo mobile multipiattaforma” che verrà tenuto da me e Davide Senatore a fine Marzo (le date verranno confermate al raggiungimento minimo dei posti che ci siamo prefissati).

E’ un corso fatto da sviluppatori e rivolto a sviluppatori!
Per partecipare sarà sufficiente avere delle basi di C#, HTML e JavaScript…ed il resto lo apprenderete da noi Winking smile

Il corso verterà sullo sviluppo di applicazioni mobile, dal come esporre i dati (lato server) al come realizzare le varie applicazioni per i diversi marketplace, confronteremo le varie piattaforme  e tecnologie, analizzando tutti i pro e contro possibili. Questo permetterà di capire già da subito quali siano i problemi comuni di questa tipologia di sviluppo, ed il come noi li abbiamo risolti/affrontati.

Ecco qui una scaletta dei macro-argomenti che verranno trattati:

    • Piattaforme a confronto:
      • Web
      • Windows Phone
      • Windows 8
      • Android
      • iPhone
    • Esporre i dati per il mobile
      • ASP.NET Web API
      • Servizi REST
    • Sviluppo:
      • Web Mobile
      • Sviluppo Nativo
      • Multipiattaforma con PhoneGap
      • Windows Azure mobile services
    • Distribuire le applicazioni
      • Modalità di deploy
      • I vari marketplace
    • Q & A

La registrazione è aperta, quindi non aspettate l’ultimo momento perchè i posti disponibili non sono moltissimi.

Per tutte le info e per registrarvi la pagina è http://training.ingeniumsoft.com/

Tags:

+1 | ASP .NET | .NET | Windows Phone | jQuery | Android

Codice e slide della sessione Sviluppo di applicazioni mobile con ASP.NET MVC 4

by Andrea Dottor 12 November 2012 21:19

Venerdì 09 Novembre 2012 ho tenuto la sessione Sviluppo di applicazioni mobile con ASP.NET MVC 4 al XeDotNet Community Meeting.

Lo sviluppo di applicazioni mobile stà entrando sempre maggiornmente nella vita dello sviluppatore web.In questa sessione vedremo come ASP.NET MVC 4, con l'aiuto di alcune librerie, possa agevolare lo sviluppo di applicazioni web che dovranno essere consumate da dispositivi mobile. Analizzeremo le problematiche che differenziano lo sviluppo web-mobile rispetto al normale sviluppo web e le affronteremo passo passo.

Il tutorial di cui vi ho parlato lo trovate a questo link: ASP.NET MVC 4 Mobile Features

Tags: , , ,

ASP .NET | .NET | XeDotNet | Microsoft

Baroliere per Windows 8

by Andrea Dottor 24 October 2012 22:01

Per chi non si accontentasse della versione per Windows Phone (link) ecco arrivare Baroliere anche su Windows 8.

Barare+parole=BAROLIERE
Vincere ai giochi di parole non è mai stato così facile.
Immetti le lettere che hai a disposizione e ti verranno visualizzate tutte le parole disponibili nel dizionario italiano.

L’applicazione rimane molto semplice nel suo utilizzo. A differenza della versione Windows Phone, accanto ad ogni parola è stato aggiunto il relativo punteggio, calcolanto seguendo le regole di Scrubble.
L’implementazione del contratto di Search velocizza il suo utilizzo…anche se la versione snapped sarà quella che più si addice ai professionisti del “baro”.

Questa è una prima versione, ma ho già in mente delle nuove funzionalità che la renderanno ancora più interessante (non appena troverò il tempo per poterle implementare).
Barolieresnippet

Download Baroliere from the Windows Store:
WindowsStore_badge_green_en_small_40x125
La versione per Windows Phone è scaricabile al seguente link: Barolire per Windows Phone

Tags: , ,

.NET | Microsoft

ASP.NET 4.5 e Autenticazione OAuth (Facebook, Twitter, Google, Microsoft account,)

by Andrea Dottor 28 September 2012 00:41

Non poteva mancare uno screencast dedicato all’autenticazione OAuth, inclusa di default all’interno dei template di progetto di ASP.NET 4.5.
Questa funzionalità permette di far si che gli utenti possano registrarsi e loggarsi all’applicazione utilizzando le loro credenziali dei più famosi social network (Facebook, Twitter), per non parlare anche di quelle di Microsoft Account e di Google.
E questa funzionalità apre la porta a innumerevoli scenari di espansione.

Potete vedere il video a questo link: http://youtu.be/aFrt8q_Ko8o

Potete approfondire l’argomento con le slide ed il codice che trovate in questo post:
Codice e slide della sessione What's New in ASP.NET 4.5 and Visual Studio 2012

Tags: , , , ,

ASP .NET | .NET | Microsoft

ASP.NET 4.5 Model Binding Filtering

by Andrea Dottor 24 September 2012 21:40

Ed ecco che con questo video approfondiamo l’argomento del model binding di ASP.NET 4.5, andando maggiormente in dettaglio nella funzionalità di filtering, e di recupero dei parametri necessari ad un metodo di select per recuperare i dati.

Il video lo potete trovare al seguente link http://youtu.be/5SAx9t2UYP8

Potete approfondire l’argomento con le slide ed il codice che trovate in questo post:
Codice e slide della sessione What's New in ASP.NET 4.5 and Visual Studio 2012

Se apprezzate l’iniziativa di questi video, aiutatemi a farli girare in rete. Ricordatevi che aspetto ogni tipo di feedback in modo da poter capire se l’idea di questi screencast vi piaccia o meno... ed anche qualsiasi suggerimento che mi permetta di migliorarli.
Winking smile

Tags: , ,

ASP .NET | .NET | Microsoft