posts - 315, comments - 268, trackbacks - 15

My Links

News

View Pietro Libro's profile on LinkedIn

DomusDotNet
   DomusDotNet

Pietro Libro

Tag Cloud

Article Categories

Archives

Post Categories

Blogs amici

Links

C#

.NET Core & Linux

E’ praticamente una vita che non scrivo piu’ su questo blog per diversi motivi (non penso se ne siano accorti in molti ), ma alla fine (meglio tardi che mai) eccomi con un nuovo post, con un nuovo progetto in testa: portare avanti una guida sullo sviluppo di .NET Core & affini in ambiente Linux. Una prima versione del documento è scaricabile qui: .NET Core & ASP.NET Core in ambiente Linux : si parte dall’installazione di .NET Core in OpenSuse 13.2 fino alla pubblicazione di una semplice Web API su Azure tramite Git, ovviamente usando VS Code come IDE e...

posted @ domenica 30 ottobre 2016 09:24 | Feedback (1) | Filed Under [ C# Virtual Machine .NET Core ]

Documentazione EF 7 (Beta 5)

Documentazione "Work in Progress" della prossima release di Entity Framework : http://ef.readthedocs.org/en/latest/

posted @ mercoledì 22 luglio 2015 09:07 | Feedback (0) | Filed Under [ Visual Basic .Net C# LINQ SQL ASP.NET Tools Entity Framework 7 Visual Studio 2015 ]

ASP.NET 5 e AzureTableStorage

Riprendiamo l’esempio del post precedente per testare l’integrazione tra EF7 e lo storage di Azure. Apriamo NuGet ed installiamo il package “EntityFramework.AzureTableStorage” (sempre in beta): Modifichiamo il codice della classe ItemDB in questo modo: 1 public class ItemDB : DbContext 2 { 3 public DbSet<Item> Items { get; set; } 4 5 protected override void OnConfiguring(DbContextOptions options) 6 { ...

posted @ domenica 30 novembre 2014 23:48 | Feedback (0) | Filed Under [ C# ASP.NET 5 Entity Framework 7 ]

JSON.Merge

Un’interessante novità introdotta con la versione 6.0 release 4 di Json.NET è la possibilità di eseguire il Merge (utilizzando 4 possibili “variazioni”) di oggetti JObject e Jarray. Un rapido esempio, tramite Web Api: [HttpPost] public void JsonStringPost([FromBody]string value) { JObject jCar = JObject.Parse(value); JObject jOptional = JObject.Parse(@"{Optionals :['Air Conditioned','Smoker'] }"); jCar.Merge(jOptional, new JsonMergeSettings() { MergeArrayHandling = MergeArrayHandling.Union }); string jsonFormat = jCar.ToString(); Car mergedCar = jCar.ToObject<Car>(); } Dove l’Action “JsonStringPost” accetta una stringa tipo: "{ 'Brand': 'Ferrari','Model': 'f450 Modena','Optionals':...

posted @ venerdì 29 agosto 2014 13:30 | Feedback (0) | Filed Under [ Varie ed eventuali C# ASP.NET Tools .Net Framework 4.5 ASP.NET Web Api ]

EF 6.1 : What’s new (3)

Supporto a “.ToString()” e “String.Concat()”, un esempio: var queryConcat = from c in db.Vehicles where string.Concat(c.EngineSize, c.HP).Equals("1600110") select c; var queryToString = from c in db.Vehicles where c.HP.ToString().Equals("110") select c;   Abbiamo due Query LINQ che filtrano i dati in base a condizioni su stringhe, la prima “tira fuori” tutti i veicoli dove la concatenazione dei valori...

posted @ giovedì 27 marzo 2014 10:04 | Feedback (0) | Filed Under [ C# LINQ SQL SQL Server .Net Framework 4.5 Entity Framework 6 Visual Studio 2013 ]

EF 6.1 : What’s new (2)

Altra feature introdotta, l’attributo “IndexAttribute” che ci permette di definire un indice su una o piu’ colonne. Ad esempio, per creare un indice (di nome “IX_FreeDailyKm”) sulla proprietà “FreeDailyKm” del nostro modello, scriviamo: [Index("IX_FreeDailyKm_Clustered", IsUnique = false, IsClustered = false)] public int FreeDailyKm { get; set; }   Mentre per creare un indice che insiste su due proprietà, è sufficiente utilizzare lo stesso nome come da esempio: [Index("IX_Engine", 2)] public string EngineSize { get; set; } [Index("IX_Engine", 1)] public int HP { get; set; }   Utilizzando EF migrations per aggiornare il database, avremmo: CreateIndex("DomusDotNet.Vehicles", "FreeDailyKm", name: "IX_FreeDailyKm_Clustered"); CreateIndex("DomusDotNet.Vehicles", new[] { "HP", "EngineSize" }, name: "IX_Engine");   Quindi, a livello di database:

posted @ giovedì 20 marzo 2014 17:49 | Feedback (0) | Filed Under [ C# .Net Framework 4.5 Entity Framework 6 Visual Studio 2013 ]

EF 6.1 : What’s new (1)

Da qualche giorno è stata rilasciata in RTM la versione 6.1.0 di Entity Framework. Una delle novità piu’ interessanti è sicuramente la possibilità di utilizzare l’approcio  Code First partendo da un database esistente (potrebbe sembrare strano, ma se pensiamo ad un nuovo sviluppo potrebbe non esserlo). I “ferri” da utilizzare sono ovviamente  EF 6.0.1 e la nuova versione di EF Tools, “scaricabile” per VS 2012 e VS 2013 seguendo questo link. Per un semplice test, apriamo VS 2013 (o 2012), magari creando un semplice progetto “Console” al quale aggiungiamo tramite NuGet i riferimenti a EF 6.0.1. Poi tasto destro...

posted @ giovedì 20 marzo 2014 12:42 | Feedback (0) | Filed Under [ C# .Net Framework 4.5 Entity Framework 6 Visual Studio 2013 ]

Dynamic Data Provider per EF6 released

Sono stati rilasciati in RTM, ASP.NET Dynamic Data e EntityDataSource per EntityFrameowrk 6. Per provare la nuova versione di Dynamic Data è sufficiente creare un nuovo progetto di tipo “ASP.NET Dynamic Data Entities Web Application”, ed installare tramite NuGet il package Microsoft.AspNet.DynamicData.EFProvider: Eventualmente forziamo la scrittura dei Template (“A” per sovrascrivere tutto): Aggiungiamo in modalità Code First una semplice classe Book e relativo DbContext: public class Book { public int Id { get; set; } public string Title { get; set; } public string Authors...

posted @ lunedì 3 marzo 2014 10:06 | Feedback (0) | Filed Under [ C# ASP.NET Tools .Net Framework 4.0 Code First Migrations .Net Framework 4.5 Entity Framework 6 Visual Studio 2013 ]

Windows Azure WebJobs (parte 4)

Per automatizzare tramite script il processo di creazione di un WebJob utilizzando Windows Azure Power Shell (Windows PowerShell ISE), i principali comandi da utilizzare sono: Add-AzureAccount, che ci permette di autenticarci utilizzando Active Azure Directory Get-AzureWebsite, per avere una panoramica dei WebSites legati alla subscription con la quale siamo collegati Get-AzureWebsiteJob, il quale ritorna le informazioni sul WebJob specificato dal paramentro Name   New-AzureWebsiteJob, il quale permette la creazione di un nuovo WebJob ed accetta in ingresso i seguenti parametri: ...

posted @ lunedì 17 febbraio 2014 10:02 | Feedback (0) | Filed Under [ C# .Net Framework 4.5 Visual Studio 2013 ]

Windows Azure WebJobs (parte 3)

Torniamo ancora sull’argomento “WebJobs” descrivendo brevemente le varie modalità di Triggering: Alla creazione di un nuovo Blob Alla ricezione di un nuovo Queue Message Esplicatamente tramite l’invocazione della funzione Call Nei post precedenti (parte 1 e parte 2) abbiamo visto come attivare il Trigger del “WebJob” alla creazione di un nuovo Blob all’interno di un container specifico semplicemente utilizzando l’attributo [BlobInput]. Con le stesse modalità é possibile eseguire il Binding di una funzione invocata dall’instanza di JobHost al ricevimento di un messaggio in un specifica...

posted @ martedì 11 febbraio 2014 12:27 | Feedback (0) | Filed Under [ C# ASP.NET .Net Framework 4.5 ]

Windows Azure WebJobs (parte 2)

Nella prima parte abbiamo visto come creare un’applicazione console ed utilizzarla per elaborare (ridimensionare) in modalità Continuously dei Blob contenenti immagini, caricati in un particolare container del nostro storage. L’applicazione non è stata fisicamente copiata su un Web Site di Azure, ma è stata eseguita “in locale” sfruttando gli endpoint allo storage. Per caricare il nostro processo su Web Site i passi da compiere sono pochi e semplici: Accedere al portale di Windows Azure (https://manage.windowsazure.com) Se non presente, creare un nuovo Web Site: Aprire il Web...

posted @ giovedì 6 febbraio 2014 12:22 | Feedback (0) | Filed Under [ C# .Net Framework 4.5 Visual Studio 2013 ]

Windows Azure WebJobs (parte 1)

Windows Azure mi appassiona veramente tanto e le nuove funzionalità  rilasciate (seppur in alpha) aumentano ancora di piu’  la voglia e volontà di adottare questa piattaforma. E’ il caso dei WebJobs, un nuovo SDK in versione alpha che permette di eseguire programmi e script ospitati nei Web Site di Windows Azure, “semplicemente” tramite upload di un file (ad esempio “.exe” o “.cmd” ) dato che tutto il “difficile” è onere del “WebJobs SDK”. Questa nuova feature permette di eseguire dei veri e propri batch, processi che normalmente impiegherebbero molto tempo per essere eseguiti, come ad esempio la riorganizzazione di...

posted @ mercoledì 5 febbraio 2014 18:32 | Feedback (2) | Filed Under [ C# .Net Framework 4.5 Visual Studio 2013 ]

ASP.NET Dynamic Data provider (preview) per EF6

Rilasciato un aggiornamento per ASP.NET DynamicData e DataSourceControl per Entity Framework 6. Tutti i dettagli del caso sul blog originale.

posted @ venerdì 31 gennaio 2014 10:23 | Feedback (0) | Filed Under [ C# ASP.NET .Net Framework 4.0 .Net Framework 4.5 Entity Framework 6 ]

Request Batching in Web Api 2

Una funzionalità molto interessante introdotta con ASP.NET Web API 2 OData è il supporto “Batching”, ovvero la possibilità di “impacchettare” in una singola richiesta HTTP piu’ richieste Web API (action) e ricevere in un’unica risposta HTTP i risultati ottenuti dalle singole invocazioni delle Web API. Questa funzionalità è molto interessante in quanto ci permette di minimizzare il numero di richieste\risposte tra client e server, riducendo il traffico di rete (pensiamo al Cloud…).  Per abilitare Server Side questa funzionalità è necessario esporre tramite registrazione, un HTTP batch endpoint utilizzando il metodo MapHttpBatchRoute esposto dall’instanza Routes della classe HttpRouteCollection:config.Routes.MapHttpBatchRoute( ...

posted @ lunedì 23 dicembre 2013 12:49 | Feedback (0) | Filed Under [ C# .Net Framework 4.0 .Net Framework 4.5 ASP.NET Web Api ]

EF : Relazione one-to-many Table-View

Immaginiamo di avere un database SQL Server esistente, e vogliamo utilizzare Entity Framework Code First per mappare il modello dati. Supponendo di avere due tabelle “Items” e “Categories” in relazione come da Database Diagram seguente: Ed una “Vista” SQL Server definita come segue: CREATE VIEW [dbo].[VCategories] AS SELECT Id, Name FROM Categories WHERE (Deleted = 0)   Aggiungiamo due classi C# definite in questo modo: public class Category { public int Id { get; set; } public string Description { get; set; } }   public class...

posted @ giovedì 19 dicembre 2013 16:55 | Feedback (0) | Filed Under [ C# LINQ .Net Framework 4.0 Code First Migrations .Net Framework 4.5 Entity Framework 6 ]

Web Api e Debug su Azure

Se abbiamo la necessità di debuggare le nostre Web Api pubblicate su Azure, i passi da seguire sono veramente pochi e semplici: Download ed installazione di Azure SDK 2.2 Aprire la Solution contenente il progetto Web con la definizione delle Web API Connettersi a Windows Azure tramite l’apposito link in Server Explorer: Pubblicare il progetto (in Debug): ...

posted @ martedì 19 novembre 2013 10:40 | Feedback (0) | Filed Under [ C# ASP.NET .Net Framework 4.0 .Net Framework 4.5 ASP.NET Web Api ]

EF 6 : Logging & Interception

  Una delle nuove feature introdotte nella versione 6 di Entity Framework (attualmente in RC) è il supporto al logging dell’SQL generato dal runtime di EF6. A tal fine è sufficiente passare un opportuno delegate alla proporietà Log esposta da DbContext.Database. Per gli esempi riprendiamo lo scenario del post precedente. Supponiamo di avere il seguente codice: using (CarContext db = new CarContext()) { System.Console.WriteLine("Cars in database : {0}", db.Cars.Count()); ////Add a new car. Car car = new Car() { ...

posted @ mercoledì 4 settembre 2013 15:15 | Feedback (0) | Filed Under [ C# SQL .Net Framework 4.0 SQL Server .Net Framework 4.5 Entity Framework 6 ]

EF6 (beta) : Multiple Contexts per Database, Multi-Tenant Migrations

Una delle novità introdotte con EF6 è la possibilità di gestire molteplici modelli per singola istanza di database, che non vuol dire usare lo stesso contesto piu’ volte nello stesso database, ma poter utilizzare Entity Framework Migrations e relativa Migration History Table per gestire la migrazione di due o piu’ modelli per singolo database fisico. Specifichiamo questa feature come Multi-Tenant Migrations. Come esempio, supponiamo di avere due classi Bus e Car facenti parte dello stesso Domain di una nostra applicazione, ma interessate da due DbContext diversi, rispettivamente BusContext e CarContext, come da Class Diagram seguente: Provando ad abilitare EF...

posted @ lunedì 19 agosto 2013 09:38 | Feedback (1) | Filed Under [ C# .Net Framework 4.0 .Net Framework 4.5 Entity Framework 6 ]

VS 2013 (Preview) : ASP.NET External Authentication

Tra le novità di Visual Studio 2013 ed ASP.NET 4.5.1 , troviamo nuove opzioni per integrare applicazioni SPA (Single Page Application) e Web API (ma non solo) con servizi di autenticazione esterni basati su Social come Twitter, Facebook, Google e Microsoft Accounts o basati su OAuth/OPenID (tutto a vantaggio di noi sviluppatori). Vediamo con un esempio. Apriamo VS 2013 (Preview) e selezioniamo come template “ASP.NET Web Application”: Scegliamo il progetto di tipo SPA  che di base utilizza HTML5, CSS3 e ASP.NET Web API (una semplice applicazione “Todo List”): A questo punto il gioco...

posted @ mercoledì 7 agosto 2013 10:13 | Feedback (0) | Filed Under [ C# ASP.NET .Net Framework 4.5 ASP.NET Web Api Visual Studio 2013 ]

EF6 (beta1) - Code First Stored Procedures Mapping

Una delle features che sicuramente in molti aspettavano con la nuova release di EF è la possibilità di eseguire il mapping delle entità tramite Stored Procedures. Con la versione 6 di Entity Framework (attualmente in beta 1), abbiamo finalmente questa possibilità, e l'utilizzo è veramente immediato. Supponiamo di avere un Domain Model simile a quello mostrato nella figura seguente: Dove abbiamo un insieme di oggetti ereditati, ed una navigation property che collega l'oggeto Car ad una collezione di oggetti Optional. Aggiungiamo il riferimento ad EF6 utilizzando il gestore di "NuGet Packages" selezionando tra...

posted @ mercoledì 26 giugno 2013 10:30 | Feedback (1) | Filed Under [ C# .Net Framework 4.0 Entity Framework 4 Entity Framework 5 .Net Framework 4.5 Entity Framework 6 ]

Le (mie) prime Windows 8 App Store (2)

L'obiettivo era di 8  App presenti su Windows Store  entro la fine di maggio, ma alla fine sono arrivato "solo" a 7. Le App che si aggiungono all'elenco precedente sono: Roma Trova Hotel Impianti Sportivi Roma Scuole Comunali Infanzia Roma Sono principalmente delle "App Catalogo" con funzionalità di ricerca (è stata l'occasione per utilizzare SQLite). Per alcune delle 7, saranno presto rilasciati degli aggiornamenti che aggiungeranno nuove funzionalità.  Critiche e consigli costruttivi sono sempre  ben accetti.

posted @ lunedì 3 giugno 2013 09:11 | Feedback (0) | Filed Under [ C# Windows 8 .Net Framework 4.5 ]

Disponibile la Beta 1 di EF 6

Tutti i dettagli del caso nel post del blog di ADO.NET qui

posted @ venerdì 31 maggio 2013 09:34 | Feedback (1) | Filed Under [ C# .Net Framework 4.0 .Net Framework 4.5 Entity Framework 6 ]

Le (mie) prime Windows 8 App Store

Alla fine, sono riuscito a pubblicare le mie  prime 4 applicazioni nello Store di Windows 8. L’obiettivo è raddopiare il numero entro la fine di maggio. Se avete voglia di provarle (sono tutte free) e indicarmi qualche suggerimento per le versioni future ed attuali, di seguito  link e nomi : Lazio: Cultura e Turismo L'applicazione "Lazio: Cultura e Turismo", è un elenco dei Punti d'Interesse (POI) Culturali del Lazio: Musei, Statue, Monasteri, Dipinti, Abbazie, Castelli, Torri ecc....Per ogni POI è presente una descrizione in Italiano (eventualmente in Inglese), foto e geolocalizzazione. Il catalogo dati è mantenuto e...

posted @ mercoledì 24 aprile 2013 09:58 | Feedback (1) | Filed Under [ Varie ed eventuali C# Windows 8 .Net Framework 4.5 ]

ASP.NET Web Api a Codemotion Roma 2013

Se domani non avete proprio nulla da fare :-) possiamo vederci a Codemotion 2013 Roma.   Una sessione introduttiva all’utilizzo del Framework ASP.NET Web Api per lo sviluppo di applicazioni RESTful.

posted @ venerdì 22 marzo 2013 19:39 | Feedback (0) | Filed Under [ Varie ed eventuali C# ASP.NET .Net Framework 4.0 .Net Framework 4.5 ]

ASP.NET and Web Tools 2012.2 : Web Api Help Page

Con il rilascio dell’aggiornamento ASP.NET 2012.2 di qualche settimana fa,  lo sviluppo di una “Help Page” per Web Api, utilizzando l’apposito Package di NuGet, é un’attività che impegna meno di 5 minuti (per completezza di informazione, era già presente una versione alpha del Package prima del rilascio ufficiale). 1) Dalle “references” del progetto Web da “documentare”, apriamo la finestra per la gestione dei “Packages” di NuGet: 2) Cerchiamo la voce “Web Api Help Page” e clicchiamo su “Install” (verranno installate le dipendenze necessarie): 3) Al progetto verrà aggiunta l’area “HelpPage” sotto la cartella “Areas”, con tutte le classi necessarie (css compreso): ...

posted @ sabato 9 marzo 2013 14:46 | Feedback (0) | Filed Under [ C# ASP.NET .Net Framework 4.0 .Net Framework 4.5 ASP.NET Web Api ]

Modi diversi di recuperare il numero di messaggi in una coda MSMQ

Ultimamente mi trovo a lavorare su di un progetto che utilizza WCF e MSMQ. Una delle classiche operazioni quando si lavora con queste tecnologie è sicuramente recuperare il numero di messaggi presenti in una coda. Tra documentazione e ricerche su internet, alla fine si “scopre” che ci sono diversi metodi per risolvere lo stesso problema: Cursori di MSMQ Utilizzo di GetAllMessages Utilizzo di GetEnumerator2 PowerShell Performance Counter Traducendo il tutto in righe di codice, per il punto...

posted @ lunedì 28 gennaio 2013 13:13 | Feedback (0) | Filed Under [ Varie ed eventuali C# .Net Framework 4.0 WCF .Net Framework 4.5 ]

EF6 Alpha 2

Nuova alpha release della versione 6 di Entity Framework, disponibile tramite NuGet. Al solito, tutti i dettagli direttamente sul post del blog di ADO.NET.

posted @ mercoledì 12 dicembre 2012 18:41 | Feedback (0) | Filed Under [ C# Entity Framework 6 ]

ASP.NET 4.5 e WebSocket: Real Time e Two-Way (parte 2)

Nella prima parte dell’articolo abbiamo introdotto i WebSocket sviluppando una semplice applicazione composta da un client che invia dei messaggi di testo ad un server (WebSocket Server), il quale risponde inviando un testo ed un numero che rappresenta la lunghezza del messaggio ricevuto. Nel post precedente abbiamo descritto con maggior dettaglio il codice lato  client demandando a questa seconda parte maggiori approfondimenti relativamente alla parte  server il cui codice è composto dalla semplice classe WebSochetHandler.ashx, la quale implementa l’interfaccia IHttpHandler, ragion per cui  è necessario scrivere del  codice per il metodo ProcessRequest(HttpContext context), per l’elaborazione delle richieste Web HTTP, e...

posted @ lunedì 10 settembre 2012 23:14 | Feedback (0) | Filed Under [ C# ASP.NET Windows 8 .Net Framework 4.5 ]

ASP.NET 4.5 e WebSocket: Real Time e Two-Way (parte 1)

Chi sviluppa per il Web, si scontra ogni giorno con le “limitazioni” del modello request-response di HTTP, il quale non è pensato “ad hoc” per applicazioni real time, o comunicazione bidirezionale client-server. Per questi scenari, spesso vengono utilizzate tecniche di polling, da parte del client, per verificare l’eventuale presenza di dati “freschi”, eseguendo continuamente delle richieste HTTP, comportando dei “costi”: il server deve utilizzare differenti connessioni TCP per ogni client (una per inviare informazioni ed una per rispondere alla richiesta di aggiornamenti), un continuo scambio di messaggi client-server (comportando quindi un aumento del traffico di rete). Potrebbe sembrare cosa da...

posted @ venerdì 7 settembre 2012 07:58 | Feedback (0) | Filed Under [ C# ASP.NET WPF .Net Framework 4.5 ]

Web API: Circular Object References

Quando utilizziamo le Web API, per leggere e scrivere oggetti nel corpo di un messaggio Http utilizziamo delle classi particolari, le media-type formatters. "Gratis" Web API fornisce media-type formatters per JSON e XML, utilizzate secondo della richiesta da parte dei client (“Accept”). Se JSON e XML non sono i "formati" di cui abbiamo bisogno possiamo sempre creare la nostra classe derivata da MediaTypeFormatter o BufferedMediaTypeFormatter, rispettivamente per scenari asincroni o sincroni, ma non sono l’argomento di questo post promemoria. Quando abbiamo a che fare con grafi di oggetti complessi, possono crearsi situazioni in cui abbiamo riferimenti circolari tra oggetti....

posted @ mercoledì 22 agosto 2012 11:17 | Feedback (0) | Filed Under [ C# ASP.NET Entity Framework 5 .Net Framework 4.5 ]

DomusDotNet: ASP.NET Web API (Parte 2)

Seconda parte della serie dedicata ad ASP.NET Web API. Articolo completo (anche in versione PDF) e sorgenti su DomusDotNet

posted @ venerdì 20 luglio 2012 12:50 | Feedback (0) | Filed Under [ C# ASP.NET .Net Framework 4.0 .Net Framework 4.5 ]

DomusDotNet: ASP.NET Web API (Parte1)

Prima parte della serie dedicata ad ASP.NET Web API. Codice sorgente ed articolo completo su DomusDotNet.

posted @ giovedì 5 luglio 2012 08:12 | Feedback (0) | Filed Under [ C# ASP.NET .Net Framework 4.0 Windows 8 .Net Framework 4.5 ]

DomusDotNet: EF Code First Migrations (Parte 2)

Seconda parte dell’articolo dedicato a Code First Migrations. Articolo completo su DomusDotNet.

posted @ mercoledì 2 maggio 2012 09:31 | Feedback (0) | Filed Under [ C# .Net Framework 4.0 Entity Framework 4.3 ]

DomusDotNet: EF Code First Migrations (Parte 1)

Prima parte di un articolo dedicato a Code First Migrations. Articolo completo su DomusDotNet.

posted @ mercoledì 18 aprile 2012 07:53 | Feedback (0) | Filed Under [ C# Tools .Net Framework 4.0 Entity Framework 4.3 ]

EF Power Tools Beta 2: Prove su strada

Ero troppo curioso di provare la nuova versione (beta) dei Tools per EF. Diciamo che la curiosità è stata parzialmente ripagata dato che con la prima versione non riuscii  a fare granché essendo, almeno nella mia configurazione software, non molto stabile. Andiamo con ordine: dopo aver installato la nuova versione dei Tools, ho provato subito ad eseguire la funzione “Reverse Engineer Code First”  (disponibile come voce di menu contestuale selezionando un progetto C#). Per l’esperimento ho scelto un database con diverse tabelle, relazioni e “gerarchie”. Dopo aver cliccato sulla voce precedente, VS ha iniziato a “macinare”...

posted @ mercoledì 11 aprile 2012 07:53 | Feedback (0) | Filed Under [ C# Tools .Net Framework 4.0 Entity Framework 4 Entity Framework 4.1 Entity Framework 4.2 Entity Framework 4.3 ]

ASP.NET MVC, Web API, Razor and Open Source

Dal post di ScottGu: You can now browse, sync and build the source tree of ASP.NET MVC, Web API, and Razor on the http://aspnetwebstack.codeplex.com web-site.

posted @ mercoledì 28 marzo 2012 13:00 | Feedback (0) | Filed Under [ Varie ed eventuali C# .Net Framework 4.0 ]

DomusDotNet : We Want Web, grazie a tutti :-)

Ieri 9/3/12 si è svolto l’evento WeWantWeb organizzato da DomusDotNet presso la sede Microsoft di Roma. Le sessioni sono state registrare e quanto prima pubblicheremo Slide, codice sorgente degli esempi e Video, sul sito di DomusDotNet. Grazie a tutti i partecipanti!!! Attendiamo i vostri feedback! Al prossimo evento . Da sinistra verso destra: Alessandro Mostarda e Massimo Bonanni, Giorgio Di Nardo, Nick, io , parte di coloro che hanno avuto la pazienza di ascoltarci .

posted @ sabato 10 marzo 2012 20:52 | Feedback (0) | Filed Under [ Varie ed eventuali C# LINQ ASP.NET Tools .Net Framework 4.0 WCF Entity Framework 4 Entity Framework 4.1 Entity Framework 4.2 ]

DomusDotNet: We Want Web

Come da titolo, evento interamente dedicato al mondo del Web!!! A breve apriranno le iscrizioni. Iscrizioni aperte!!! Tutti i dettagli e l’agenda completa sulla pagina dell’evento: WeWantWeb.

posted @ domenica 12 febbraio 2012 22:31 | Feedback (0) | Filed Under [ C# ASP.NET .Net Framework 4.0 WCF ]

DomusDotNet: WCF Data Services (Terza Parte)

Terzo ed ultimo articolo (qualcuno dirà finalmente ) della serie dedicata ai WCF Data Services. Articolo completo su DomusDotNet. Critiche, consigli e suggerimenti sono sempre ben accetti.

posted @ mercoledì 25 gennaio 2012 14:59 | Feedback (2) | Filed Under [ C# .Net Framework 4.0 WCF ]

OData T4 for C#

Annuncio fresco fresco (quasi ) da parte del WCF Data Services Team Blog : http://blogs.msdn.com/b/astoriateam/archive/2012/01/19/announcing-odata-t4-for-c-preview-1.aspx

posted @ venerdì 20 gennaio 2012 11:54 | Feedback (0) | Filed Under [ C# WCF ]

DomusDotNet: WCF Data Services (Seconda Parte)

Secondo articolo della serie dedicata ai WCF Data Services: utilizzo con Entity Framework, ed approfondimento su Service Operations. Nel codice allegato un client ASP.NET MVC di test. Articolo completo sul sito di DomusDotNet. Al solito, consigli e suggerimenti sono sempre ben accetti .

posted @ mercoledì 11 gennaio 2012 07:56 | Feedback (0) | Filed Under [ C# .Net Framework 4.0 WCF Entity Framework 4.1 Entity Framework 4.2 ]

DomusDotNet: WCF Data Services (Prima parte)

Prima parte di una serie di articoli dedicati ai WCF Data Services, al protocollo OData e REST. Per gli interessati , articolo completo qui.

posted @ mercoledì 21 dicembre 2011 01:00 | Feedback (0) | Filed Under [ C# ASP.NET .Net Framework 4.0 WCF Entity Framework 4 ]

EF Code First Migrations Beta 1 (Parte 1)

  Finalmente sono riuscito a trovare qualche minuto per buttare giù qualche riga a riguardo di EF Code First Migrations (da qualche giorno disponibile in  beta 1). Per chi usa l’approccio Code First l’aggiornamento del modello e della base di dati sottostante (soprattutto quando contiene dati)  è un grosso problema. Proviamo a testare il funzionamento del “pacchetto” su un modello molto semplice come il seguente, in un progetto console C#: public class OfficeContext : DbContext { public OfficeContext() ...

posted @ giovedì 1 dicembre 2011 23:59 | Feedback (1) | Filed Under [ C# .Net Framework 4.0 Code First Migrations ]

Code First Migrations: Beta 1 Released

Rilasciata la versione Beta 1 di Code First Migrations. Tutti i dettagli qui. La semplicità di utilizzo è veramente notevole .

posted @ mercoledì 30 novembre 2011 12:52 | Feedback (0) | Filed Under [ C# Entity Framework 4.1 Code First Migrations ]

Expression, LambdaExpression, Entity Framework (e DDD)

Se lavoriamo con EF utilizzando l’approccio Code First, in alcuni scenari,  il mapping (ad esempio nel caso di classi di dominio già esistenti) potrebbe essere un task non banale. Riprendiamo un esempio di qualche tempo fa , aggiungendo all’Object Model l’entità Articolo, come riassunto dal Class Diagram seguente: Fattura espone una collezione di oggetti RigoFattura  accessibile (dall’esterno) tramite l’IEnumerable<RigoFattura>  pertanto, l’unico modo di aggiungere nuove righe alla fattura è l’utilizzo del metodo AddRigoFattura. Ancora, la classe RigoFattura contiene una proprietà CodiceArticolo che ritorna la proprietà Codice dell’istanza della classe Articolo referenziata, ma anche in questo caso, l’unico...

posted @ giovedì 10 novembre 2011 08:11 | Feedback (0) | Filed Under [ C# Entity Framework 4.1 Entity Framework 4.2 ]

Code First Migrations: Alpha 2 Released

Maggiori info ed un dettagliato Walkthrough qui.

posted @ giovedì 8 settembre 2011 12:05 | Feedback (0) | Filed Under [ C# .Net Framework 4.0 Entity Framework 4.1 ]

Ed anche…

…la 70-516 : Accessing Data with Microsoft .NET Framework 4 è andata. Adesso un paio di settimane di riposo e poi si ricomincia

posted @ mercoledì 7 settembre 2011 13:14 | Feedback (2) | Filed Under [ Varie ed eventuali C# .Net Framework 4.0 Entity Framework 4 ]

Bing Maps WPF Control (Beta)

SDK per utilizzare le mappe di Bing all’interno delle nostre applicazioni WPF. Una volta installato, è sufficiente trascinare il controllo “Map” all’interno del Designer di WPF e scrivere praticamente nulla, piccolo esempio: <my:Map HorizontalAlignment="Center" Margin="0" Name="map1" VerticalAlignment="Center" Height="270" Width="500" CredentialsProvider="BING_KEY" Mode="AerialWithLabels" Center="41.90,12.60" ZoomLevel="10" /> Ovviamente per l’utilizzo è necessario essere in possesso di una Bing Map Key. Download del controllo qui.

posted @ mercoledì 24 agosto 2011 12:24 | Feedback (0) | Filed Under [ C# WPF .Net Framework 4.0 ]

WCF, netsh e “prenotazione” URL

Post promemoria. Se abbiamo la necessità di eseguire l’hosting di un servizio WCF su Windows Vista, Windows Server 2008R2 o Windows 7 tramite ad esempio un’applicazione console (Windows Form o WPF ) è necessario eseguire una “prenotazione” dello spazio dei nomi URL per lo specifico account DOMAIN\User. Per eseguire questo scopo in modo programmatico (e non avere la necessità di creare un file d’installazione) allora possiamo scrivere del codice tipo: string batContent = string.Format(@"netsh http add urlacl url=http://+:{0}/ user={1}\{2}", uriToRegister.Port, Environment.MachineName, Environment.UserName);string batPath = "NetBat.bat";System.IO.File.WriteAllText(batPath, batContent);ProcessStartInfo startInfo = new ProcessStartInfo();startInfo.UseShellExecute = true;startInfo.Verb =...

posted @ lunedì 22 agosto 2011 23:08 | Feedback (1) | Filed Under [ Varie ed eventuali C# Windows 7 .Net Framework 4.0 WCF ]

OCA, Sync Framework e SQL Server 2008

  Ultimamente mi sono trovato a sviluppare un’applicazione con la necessità di sincronizzare i dati locali con un’istanza di SQL Server 2008. Generalmente parlando, le applicazioni OCA (occasionally connected application) permettono di utilizzare un’applicazione client che fa uso di dati memorizzati in una base di dati locale che periodicamente è sincronizzata  con un database centrale disposto su un server.  Il processo di sincronizzazione non è mai stato un task banale (almeno nel caso bidirezionale), è penso che ognuno di noi, almeno una volta nella vita da sviluppatore si sia imbattuto in questo tipo di operazione. Fino a qualche tempo...

posted @ domenica 21 agosto 2011 14:08 | Feedback (2) | Filed Under [ C# SQL .Net Framework 4.0 SQL Server ]

EF 4.1 August CTP 2011: Code First Migration

Rilasciata la versione  CTP di “Code First Migrations” (per il momento solo per  SQL Server), installabile via NuGet, che aggiunge alcuni comandi per la gestione delle modifiche di database creati utilizzando l’approccio Code First. Tutti i dettagli qui:  http://blogs.msdn.com/b/adonet/archive/2011/07/27/code-first-migrations-august-2011-ctp-released.aspx. Attenzione alle compatibilità!!!

posted @ venerdì 29 luglio 2011 13:23 | Feedback (0) | Filed Under [ C# Entity Framework 4.1 ]

EF CTP June 2011: Code First + Enums

Devo ammetterlo, non ho resistito alla tentazione e ho subito installato sulla VM la versione CTP June 2011 di Entity Framework. La prima feature che ho provato è il supporto agli enumerativi in modalità Code First. Partiamo subito con l’esempio. Banale classe Product e relativo DbContext: public class Product{ public string Code { get; set; } public string Description { get; set; } public DiscountType Discount { get; set; }}public class Db : DbContext{ public DbSet<Product>...

posted @ venerdì 1 luglio 2011 23:06 | Feedback (3) | Filed Under [ C# Entity Framework 4.1 ]

IoC, DI e Unity 2.1 (seconda parte)- DomusDotNet

Pubblicata la seconda parte dell’articolo dedicata a Microsoft Unity. Critiche e suggerimenti sono sempre ben accetti . Su DomusDotNet  è possibile scaricare il codice di esempio a corredo degli articoli.

posted @ mercoledì 29 giugno 2011 11:07 | Feedback (5) | Filed Under [ C# .Net Framework 4.0 ]

IoC, DI e Unity 2.1- DomusDotNet

A maggio 2011 è stata rilasciata la versione 2.1 di Unity, il Dependency Injection Container di casa Microsoft per applicazioni Desktop e Silverlight, scaricabile via NuGet o Installer. Su DomusDotNet un articolo di una serie di due su IoC, DI e naturalmente Unity. Al solito, critiche e suggerimenti sono sempre ben accetti .

posted @ mercoledì 1 giugno 2011 07:31 | Feedback (0) | Filed Under [ C# .Net Framework 4.0 Design Pattern ]

WCF Data Service (CTP2) e EF 4.1

Chi usa i WCF Data Service (vedi ADO.NET Data Service), potrebbe incontrare qualche difficoltà nell’utilizzo di Entity Framework 4.1 utilizzando l’approccio Code First, “a causa” del DbContext, dato che un DataService<T> si aspetta  un T derivato da ObjectContext . “Under the hood” il DbContext utilizza ObjectContext e di conseguenza è facile immaginare una possibile soluzione al problema: eseguire l’ovveride del metodo CreateDataSource del DataService<T> ed utilizzare l’ObjectContext corrente. E’ sufficiente qualche ricerca tramite Bing o Google per trovare del codice di esempio. Per chi ha voglia di sperimentare, può a scaricare la versione WCF Data Service CTP 2 di Marzo...

posted @ domenica 15 maggio 2011 20:55 | Feedback (0) | Filed Under [ C# ASP.NET WCF Entity Framework 4.1 ]

EF CTP 5 : Episode II (Data Annotations e Fluent API)

Continuiamo il nostro percorso di studio della CTP 5 di EF, tenendo sempre presente quanto detto nel post precedente o meglio nei commenti. Vediamo come possiamo utilizzare Data Annotations e Fluent API per eseguire l’override delle convenzioni di default usate in code first per mappare la base di dati sottostante: impostare il nome delle tabelle e/o colonne, lunghezza dei campi, definizione delle chiavi, definizione delle relazioni ecc.  La volta precedente, utilizzando Code First generavamo il database rappresentato dal diagramma seguente: Partiamo dal database e apportiamo qualche modifica alle tabelle in questo modo: rinominiamo Projects in Progetto, Skills...

posted @ giovedì 13 gennaio 2011 08:20 | Feedback (4) | Filed Under [ C# .Net Framework 4.0 Entity Framework 4 ]

Entity Framework 4 :POCO, Complex Type e Stored Procedure

Nuovo articolo della serie pubblicato su DomusDotNet, comprensivo di sorgenti in C# e VB.NET. Al solito, critiche e suggerimenti sono sempre ben accetti.

posted @ mercoledì 12 gennaio 2011 10:59 | Feedback (0) | Filed Under [ Visual Basic .Net C# .Net Framework 4.0 Entity Framework 4 ]

.NET 4.0: ReadLines e WriteAllLines +2

Nel caso in cui una nostra applicazione abbia necessità di lavorare con i file, con la nuova versione del .Net Framework sono stati introdotti nuovi metodi statici per la classe System.IO.File. Il primo è System.IO.File.ReadLines (2 overloads), che accetta in ingresso il percorso del file da leggere (ed eventualmente un Encoding da utilizzare) e restituisce un IEnumerable<String>: uno dei vantaggi rispetto all’uso del metodo System.IO.File.ReadAllLines e che il file non deve necessariamente essere letto tutto prima di eseguire il processing delle singole linee. In caso di file molto grandi il metodo ReadAllLines può essere quindi inefficiente. L’IEnumerable<String> creato può essere...

posted @ martedì 30 novembre 2010 17:38 | Feedback (0) | Filed Under [ C# .Net Framework 4.0 ]

Introduzione a WCF 4, Hosting dei servizi

Pubblicato sul portale di DomusDotNet l'ultima parte degli articoli introduttiva alla tecnologia WCF 4. L'argomento trattato è l'hosting dei servizi. Articolo e sorgenti (in C# e VB.NET) sono disponibili qui . Al solito, critiche e suggerimenti sono sempre ben accetti.

posted @ mercoledì 3 novembre 2010 08:23 | Feedback (0) | Filed Under [ Visual Basic .Net C# .Net Framework 4.0 WCF ]

Introduzione a WCF 4, Error Handling

Pubblicato sul portale di DomusDotNet la terza parte della serie introduttiva su WCF 4. L'argomento trattato è la gestione degli errori. Articolo e sorgenti (in C# e VB.NET) sono disponibili qui . Critiche e suggerimenti sono sempre ben accetti.

posted @ mercoledì 27 ottobre 2010 10:14 | Feedback (0) | Filed Under [ Visual Basic .Net C# .Net Framework 4.0 WCF ]

Introduzione a WCF 4, Seconda parte

Pubblicato sul portale di DomusDotNet la seconda parte della mini serie introduttiva su WCF 4. Articolo e sorgenti (in C# e VB.NET) sono disponibili qui. Al solito, critiche e suggerimenti sono sempre ben accetti.

posted @ mercoledì 20 ottobre 2010 09:56 | Feedback (0) | Filed Under [ Visual Basic .Net C# .Net Framework 4.0 WCF ]

Introduzione a WCF 4

E' uscito il primo di una mini-serie di articoli riguardanti la nuova versione di WCF. Per chi fosse interessato potete trovare l'articolo su DomuDotNet: Introduzione a WCF 4 . Lo scopo della serie è partire dalle basi e affrontare successivamente tematiche più avanzate. Al solito, critiche e suggerimenti sono sempre ben accetti.  La prossima settimana la seconda puntata.

posted @ mercoledì 13 ottobre 2010 11:32 | Feedback (0) | Filed Under [ Visual Basic .Net C# .Net Framework 4.0 WCF ]

.NET e soddisfazioni

Dopo tanti sacrifici, ogni tanto arriva qualche soddisfazione: ieri è mi giunta  una copia del libro “Approaches in Material Sampling”, in cui, oltre ad essere uno dei coautori di un capitolo (Grazie Gianni), è presente un CD allegato con alcuni software che permettono di eseguire analisi statistiche sui dati di campionamento. Uno di questi è SISSI 2.0: “a resampling-based software for sample size determination”. Il tool è stato scritto in .NET 3.5 facendo largo uso di LINQ To Objects e programmazione multi-threading. Spero quanto prima di riuscire ad eseguire il porting verso .NET 4.0 per sfruttare MEF ed aggiungere un...

posted @ domenica 29 agosto 2010 19:28 | Feedback (8) | Filed Under [ Varie ed eventuali C# LINQ ]

Design Pattern: Adapter Pattern

L’Adapter Pattern appartiene alla categoria “Structural Pattern”, secondo l’identificazione proposta dalla GoF. In questa categoria ricadono i patterns che usano i meccanismi di un linguaggio per facilitare la progettazione,   individuando un modo semplice per stabilire la relazione tra gli oggetti. Per descrivere il contesto in cui può essere applicato il pattern in oggetto,  supponiamo di avere il seguente scenario: dobbiamo sviluppare un software utilizzando librerie di terze parti di cui non abbiamo il codice sorgente. Vogliamo  far “collaborare” due classi A e B appartenenti alle due librerie, ma aventi interfacce incompatibili. Per far funzionare il tutto abbiamo bisogno di...

posted @ martedì 6 luglio 2010 08:21 | Feedback (0) | Filed Under [ C# .Net Framework 4.0 Design Pattern ]

Fattoriali, grandi numeri e … BigInteger.

  Con un amico stiamo analizzando/realizzando un software statistico che fa largo uso del fattoriale e del coefficiente binomiale. Dovendo calcolare il fattoriale di valori come 500, non possiamo utilizzare i “normali” tipi di dato offerti dal .Net Framework 3.5, dato che, con un float calcoliamo al più 34!, con un UInt64 65! e con un double 170!. Ben lontani dal nostro obiettivo... Si potrebbe allora utilizzare qualche formula di approssimazione, come la formula di Stirling (utilizzabile operativamente in questo modo). Così facendo potremmo ottenere un risultato esprimibile secondo la notazione scientifica: 1,21993348682175 *10^1134, ma non potremmo operare...

posted @ lunedì 1 giugno 2009 13:56 | Feedback (1) | Filed Under [ C# .Net Framework 4.0 ]

Image, MemoryStream e file .rdlc

Supponiamo di avere un file di Report in formato .rdlc, e di voler stampare una lista di prodotti visualizzando un'immagine prodotta a run-time e memorizzata in un MemoryStream, piuttosto che utilizzare file d'immagine. Ad esempio, supponiamo di avere nel nostro Database, una tabella denominata Prodotti, contenente 4 colonne: Aggiungiamo al nostro progetto (ad esempio di tipo Web Application) un DataSet tipizzato (dsProdotti)  contenente un DataTable Prodotti, a cui andiamo ad aggiungere una colonna denominata  Immagine, con proprietà DataType impostata su System.Byte[]: Aggiungiamo un nuovo file di Report (Report1.rdlc), nel designer del report,...

posted @ martedì 25 novembre 2008 18:42 | Feedback (0) | Filed Under [ C# ASP.NET Reporting ]

FTP: Download/Upload di un file con ProgressBar

Post nato da discussione su forum. Supponiamo di voler creare un client ftp (applicazione Windows Form) per il download/upload di file, utilizzando un controllo ProgressBar per visualizzare lo stato di avanzamento dell'operazione. Grazie alle classi messe a disposizione del Framework .Net, il codice per il download di un file remoto, potrebbe essere del tipo: 1 //Connessione con l'host 2 Connect(remotePathFile); 3 4 //Imposta il tipo di richiesta 5 _conn.Method = WebRequestMethods.Ftp.DownloadFile; 6 7 //Ottiene la risposta 8 _resp = (FtpWebResponse)(_conn.GetResponse()); 9 System.IO.Stream _respStream = _resp.GetResponseStream(); 10 11 if (ContinueProcess(_resp.StatusDescription)) 12 { 13 ...

posted @ domenica 2 novembre 2008 11:02 | Feedback (3) | Filed Under [ C# ]

WPF: XmlDataProvider

Supponiamo di avere un file XML molto semplice, del tipo: 1 <?xml version="1.0" encoding="utf-8" ?> 2 <books> 3 <book id="1"> 4 <title>Introducing To Microsoft LINQ</title> 5 <isbn>43554354523</isbn> 6 </book> 7 <book id="2"> 8 <title>Pro WPF Windows Presentation Foundation in dot NET 3.0</title> 9 <isbn>232132142</isbn> 10 </book> 11 <book id="3"> 12 <title>Foundations of F#</title> 13 <isbn>772337271</isbn> 14 </book> 15 <book id="4"> 16 ...

posted @ domenica 31 agosto 2008 12:43 | Feedback (2) | Filed Under [ C# WPF ]

ConvertAll<>

Supponiamo di avere una situazione schematizzata dal seguente Class Diagram: Supponiamo di avere un unico metodo Add che aggiunge oggetti di tipo Person ad una lista tipizzata denominata People, come nel caso seguente: 1 2 List<Person> _people = new List<Person>(); 3 4 private void Add(Person p) 5 { 6 _people.Add(p); 7 } Utilizziamo il seguente codice per popolare la collezione People : 1 Employee e = null; 2 e = new Employee(); 3 e.Age = 21; 4 e.Name = "Peter"; 5 e.Surname = "Book"; 6 e.Office = "Piazzale Kennedy 21"; 7 8 Add(e); ...

posted @ domenica 24 agosto 2008 14:32 | Feedback (2) | Filed Under [ C# ]

EventLog

Piccolo post derivato da una risposta su un forum. Un semplice modo per dotare una nostra applicazione di un log degli eventi, è utilizzare la classe EventLog che il .Net Framework mette a disposizione. MSDN suggerisce, nel caso in cui si debba usare il log per poche operazioni di utilizzare i metodi statici della classe EventLog, altrimenti conviene registrare un log degli eventi personalizzato e utilizzare un'istanza della classe EventLog. Quando detto si traduce in poche righe di codice: 1 if (!EventLog.SourceExists("MyEventLog", ".")) 2 EventLog.CreateEventSource("MyEventLog", "CustomApplication"); 3 4 _demoLog = new EventLog("CustomApplication", ".", "MyEventLog"); Per aggiungere...

posted @ lunedì 18 agosto 2008 14:02 | Feedback (2) | Filed Under [ C# ]

System.Net.Mail: Modi diversi di inviare un'e-mail

Spesso si leggono nei forum post  di richiesta su come poter inviare e-mail (con e senza allegati) utilizzando le classi che il Framework .Net  mette a disposizione. Spero che questo piccolo post con relativo codice d'esempio possa tornare utile. Per inviare una semplice mail di testo senza allegati è sufficiente scrivere: 1 //Mail Plain Text - Senza allegato 2 MailMessage mailMessagePlainText = new MailMessage(); 3 mailMessagePlainText.From = new MailAddress("indirizzo.mittente@dominio.it", "Mittente"); 4 mailMessagePlainText.To.Add (new MailAddress ("destinatario@dominio.it","Destinatario")); 5 mailMessagePlainText.Subject ="Plain Text e-mail"; 6 //mailMessage.CC utilizzare se è necessario inviare in copia carbone 7 mailMessagePlainText.Body ="Questa è una bellissima e-mail, soprattutto utile!"; Se...

posted @ mercoledì 6 agosto 2008 14:24 | Feedback (2) | Filed Under [ C# ]

System.Security.Cryptography.Rijndael

Una classe Helper per l'algoritmo di cifratura simmetrico System.Security.Cryptography.Rijndael , magari può tornare utile: 1 public class RijndaelHelper 2 { 3 private byte[] _IV = null; 4 private byte[] _key = null; 5 private Rijndael _rijndael = null; 6 private string _lastExceptionDescription = ""; 7 8 public string LastExceptionDescription 9 { 10 ...

posted @ mercoledì 23 luglio 2008 11:30 | Feedback (0) | Filed Under [ C# ]

Content-disposition, ContentType e PDF

Supponiamo di avere un'applicazione web (classica gestione dei preventivi web, ad esempio), che al termine di una serie di operazioni produce un file pdf (il preventivo). Se volessimo rendere scaricabile/apribile il file senza che l'utente debba nuovamente fare click su di un collegamento, al termine delle operazioni potremmo eseguire il redirect verso una pagina contenente del tipo: 1 protected void Page_SaveStateComplete(object sender, EventArgs e) 2 { 3 try 4 { 5 RenderDocument(this.Context); 6 } 7 ...

posted @ martedì 13 maggio 2008 15:04 | Feedback (7) | Filed Under [ C# ]

Button e proprietà UseVisualStyleBackColor

Post nato da discussione su Forum. Per "eliminare" l'effetto del cambio del colore di sfondo (Dal Grigio all'azzurro in modalità standard) di un controllo Button su di una Window Form, è sufficiente impostare a False la proprietà UseVisualStyleBackColor del controllo Button. In questo modo disabilitiamo l'utilizzo dei visual-style per lo specifico controllo (dove supportato) Technorati Tag: UseVisualStyleBackColor

posted @ venerdì 9 maggio 2008 08:55 | Feedback (2) | Filed Under [ C# Windows Vista ]

MD5

Dopo aver ricevuto suggerimenti in merito al codice del post originale, ho preferito modificare il post precedente senza crearne uno nuovo. Le modifiche sono visibili all'indirizzo http://blogs.ugidotnet.org/PietroLibroBlog/archive/2008/04/10/92164.aspx.

posted @ sabato 12 aprile 2008 11:57 | Feedback (0) | Filed Under [ C# ]

MD5 (2)

Dopo aver ricevuto ulteriori suggerimenti (come da commenti) ed aver letto in rete articoli inerenti l'argomento, ho nuovamente modificato la classe MD5Helper, in questo modo:   1 public class MD5Helper 2 { 3 System.Security.Cryptography.MD5 _md5 = null; 4 5 public MD5Helper() 6 { 7 _md5 = System.Security.Cryptography.MD5.Create(); 8...

posted @ giovedì 10 aprile 2008 15:51 | Feedback (3) | Filed Under [ C# ]

MD5

Causa la necessità di memorizzare dati non in chiaro e di utilizzare l'algoritmo MD5, mi sono creato una piccola classe helper, che a sua volta utilizza la classe System.Security.Cryptography.MD5. Il codice della classe è il seguente: 1 private string _dummyString = "!@HASH#!"; 2 System.Security.Cryptography.MD5 _md5 = null; 3 public MD5Helper (){ 4 5 _md5 = System.Security.Cryptography.MD5.Create(); ...

posted @ martedì 8 aprile 2008 17:30 | Feedback (2) | Filed Under [ C# ]

Marshal & Struct

Post nato da una discussione su forum. Grazie alla classe Marshal , è possibile, ad esempio, convertire una struct in un array di byte e viceversa. Supponiamo di avere la seguente struct, denominata con tanta fantasia, CustomStruct: 1 private struct CustomStruct 2 { 3 public byte _b1; 4 ...

posted @ giovedì 6 marzo 2008 10:41 | Feedback (0) | Filed Under [ C# ]

GetOleDbSchemaTable e fogli di lavoro di un file Excel

Post nato da una discussione su forum. Per recuperare i nomi degi fogli di lavoro di un file excel, al fine di popolare ( ad esempio) un controllo ComboBox, possiamo sfruttare la funzione GetOleDbSchemaTable della classe OleDbConnection, la quale, restituisce un istanza di oggetto DataTable con le informazioni a noi necessarie. Il codice per popolare il ComboBox è il seguente: 1 DataTable dt = GetWorksheetList(@"C:\Test.xls");2 if (dt != null)3 ...

posted @ giovedì 21 febbraio 2008 13:27 | Feedback (0) | Filed Under [ C# ]

Isolated Storage

L'uso dell'isolated storage permette alle nostre applicazioni di memorizzare dati su file, senza preoccuparsi di avere privilegi sufficienti per creare/modificare/cancellare file su disco. La classe necessaria all'utilizzo dell'isolated storage è IsolatedStorageFile che fornisce le funzionalità di base per la creazione di file e di cartelle nell'isolated storage. Questa si compone dei seguenti metodi statici , secondo del livello di isolamento che vogliamo ottenere: GetMachineStoreForApplication ...

posted @ mercoledì 6 febbraio 2008 15:30 | Feedback (0) | Filed Under [ C# ]

FTP: lista delle directory e dei file remoti

Come ottenere la lista delle directory e dei file remoti utilizzando gli oggetti FtpWebRequest e FtpWebResponse System.Net.FtpWebRequest conn =null ;System.Net.FtpWebResponse resp = null;conn = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://localhost"));conn.Credentials = new NetworkCredential("username", "password");conn.KeepAlive = false;conn.Method = WebRequestMethods.Ftp.ListDirectoryDetails; //Ottiene la risposta resp = (FtpWebResponse)(conn.GetResponse());StreamReader strReader = new StreamReader(resp.GetResponseStream(), System.Text.ASCIIEncoding.ASCII);//ArrItems contiene la lista di files e directorystring strItems = strReader.ReadToEnd();string[] arrItems = strItems.Split("\n".ToCharArray());strReader.Close();

posted @ sabato 6 ottobre 2007 04:31 | Feedback (0) | Filed Under [ Varie ed eventuali C# ]

PDF e Java in .Net

Girovagando tra i vari siti di programmazione ed affini ho trovato questi due link: 1) Convertire un file PDF in semplice testo (in tre righe!) in .Net Converting PDF to Text in C# 2) Utilizzare librerie java in .Net con IKVM.NET Uses for IKVM.NET

posted @ sabato 14 luglio 2007 10:33 | Feedback (0) | Filed Under [ Visual Basic .Net C# ]

AutoCompleteStringCollection e risorse incorporate

Piccolo esempio (nato da una discussione su di un forum) di come utilizzare una risorsa incorporata (file XML) per popolare un oggetto AutoCompleteStringCollection per usufruire della funzione di completamento automatico di un controllo TextBox. AutoCompleteSourceEmbedded.zip

posted @ sabato 16 giugno 2007 11:09 | Feedback (0) | Filed Under [ Visual Basic .Net C# ]

Powered by:
Powered By Subtext Powered By ASP.NET