AutoMapper DTO e POCO Object

Una delle soluzioni architetturali che ho imparato ad apprezzare ed utilizzare nel corso degli anni è quella che prevede: – uno strato Model, contenente una o più entità POCO referenziate tra loro; – uno strato Repository per l’accesso ai dati; – uno strato Service; – uno strato Presentation, che contiene le nostre pagine html/aspx (o […]

Asp.Net carrello Paypal: problema con le spese di spedizione

SottoTitolo: (PayPal Shipping costs not added to total) Negli ultimi tempi sto concentrando i miei sforzi, in raccordo con Emanuele, sullo sviluppo di una piattaforma e-commerce che abbiamo creato da zero (completamente customizzata – che, spero, andrà online molto presto). Ho da poco riscontrato un problema nella gestione delle spese di spedizione da parte di […]

Asp.Net jQuery validate dialog: this[0] is undefined

Sviluppare in asp.net webform e jquery è sicuramente un’attività che consente di realizzare un prodotto con un codice molto pulito e ben strutturato, delegando correttamente le diverse azioni ad ogni modulo. Tuttavia, al contrario di quanto non avvenga in asp.net mvc, bisogna fare molta attenzione a ciò che succede dietro le scene. Oggi per esempio […]

ASP.NET Wizard Control e UpdatePanel

Con Emanuele stiamo sviluppando un prodotto con una deadline parecchio vicina. Per questo motivo, dovendo sviluppare un wizard per finalizzare il pagamento su un prodotto Ecommerce, ho scelto di far uso del controllo fornito dal framework .NET ASP:Wizard. Come tutti i controlli forniti da .net, è molto semplice da utilizzare e, sebbene mi piaccia poco […]

Visual Studio CTP: c# async ed await

Qualche settimana fa è stata rilasciata una nuova CTP nella quale possiamo trovare alcune anticipazioni della nuova versione di c#. Una delle più interessanti è rappresentata dalla presenza di due nuove parole chiavi: async ed await. Allo stato attuale per effettuare una chiamata remota, sapendo che spesso tutto gira dietro un unico Thread, bisogna ricorrere […]

Evitare NHibernate.ObjectNotFoundException

Una delle caratteristiche che rendono “potente” l’utilizzo di ORM nelle nostre web-application, è la possibilità fornitaci dal lazy load. Tuttavia, può succedere che quando referenziamo un’altra entità (ad esempio utilizzando Fluent NHibernate) il dato che cerchiamo di tirare su non esista. NHibernate restituirà, quindi, un eccezione di tipo NHibernate.ObjectNotFoundException. Per evitare questa situazione, è necessario […]

ASP.NET ListView: itemPlaceHolder InvalidOperationException

Sto approcciandomi per la prima all’utilizzo del componente ListView, nettamente più potente e flessibile (soprattutto in termini di personalizzazione del layout) rispetto al GridView. Seguendo l’esempio di Scott Gu, ho creato un ListView del tipo: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <asp:ListView runat="server" ID="temp"> <LayoutTemplate> […]

TSQL: leggere i tipi delle colonne di una tabella

Stavo ragionando sull’estender Fluent NHibernate per automatizzare il processo di produzione delle entità (sempre ammesso che non esista ancora nulla del genere). Mi sono quindi posto il problema di come fare per leggere i tipi delle colonne di una tabella. Mi risponde Joe Webb sul suo blog: 1 2 3 4 5 6 7 8 […]

Fluent NHibernate mapping exception: Association references unmapped class

Ieri ho perso metà pomeriggio di lavoro per una mia non conoscenza del mapping delle Entity in Fluent NHibernate. L’eccezione lanciata da NHibernate: 1 Association references unmapped class: YourClassAssociation references unmapped class: YourClass Il mapping delle mie Entity avviene tramite un metoto CreateSessionFactory: 1 2 3 4 5 6 7 8 9 10 11 12 […]

Asp.net MVC JavaScriptSerializer: non serializzare proprietà automatich

Immaginiamo di avere il seguente modello: 1 2 3 4 5 6 7 8   public class MyModel { public string Cognome { get; set; } public string Nome { get; set; }   public DateTime DataNascita { get; set; } } public class MyModel { public string Cognome { get; set; } public string […]

C#: parametri ‘Specified’ nei servizi WCF

Ipotizziamo di avere questo contratto in un servizio WCF: 1 2 [OperationContract] string HelloWorld(string foo, int bar);[OperationContract] string HelloWorld(string foo, int bar); Nel caso in cui ci si agganci da client non-WCF, come ad esempio client dotnet 1.1 (o client non dotnet), ci si potrebbe trovare in una situazione come la seguente: 1 2 Service1.HelloWorld(string […]

c#: stringhe e valori enums

Ultimamente mi sono ritrovato a dover fronteggiare un problema che, in realtà, è abbastanza comune. Immaginiamo di avere un’area generica (diciamo un div) all’interno del quale restituiamo all’utente un messaggio a seconda della specifica funzionalità che deve eseguire. Nell’ottica del riutilizzo del codice, potrebbe essere utile cambiare il messaggio visualizzato a seconda del punto dal […]

Asp.NET TextBox: attributo MaxLength in modalità MultiLine

Quando vi trovate ad utilizzare il componente asp:textbox in modalità multiline, noterete che l’attributo maxlength non funziona. Non conosco ne conosco la ragione, però esiste un work-around: private const int MAX_LENGTH = 100;   protected void Page_Load(object sender, EventArgs e) { string lengthFunction = "function isMaxLength(txtBox) {"; lengthFunction += " if(txtBox) { "; lengthFunction += […]

Asp.NET e Microsoft Reporting Services: ordinare una tabella Tablix da c#

In alcuni casi, nel realizzare un’applicazione web ha senso appoggiarsi a Microsoft Reporting Services per consentire agli utenti di stampare il risultato di una generica griglia sulla quale è possibile applicare un sorting. Il problema è quello di riportare l’esatto sorting applicato sulla griglia anche sul report generato da Microsoft Reporting Services. A tal fine, […]

ASP.NET c# 3.5: cancellare il testo delle TextBox contenute nella pagina con LINQ

In rete esistono molti esempi di come si possa cancellare il testo contenuto nelle TextBox presenti nella propria pagina aspx. Molti di questi esempi partono dal presupposto che la nostra pagina aspx non sia agganciata ad una masterpage. In questo caso, per la particolare gerarchia delle pagine aspx rispetto alla masterpage, bisogna apportare una piccola […]

Visual Studio 2008 SP1 aggiornamento KB957912: perdita controllo durante il debug con F10 su applicazioni multi-threading

Quando si esegue un debug con F10 in Visual Studio 2008 nel contesto di applicazioni multi-threading, può succede che si perda il controllo dello stesso, emulando il comportamento del tasto F5. Per risolvere il problema è necessario aggiornare la propria versione di Visual Studio, scaricando l’aggiornamento KB957912. Il link alternativo si trova su code.msdn Related […]

AspItalia Real Code Day 4 dicembre 2009 Firenze

Sono appena tornato dalla conferenza di ASPItalia “Real Code Day”, organizzata a Firenze nella struttura della Scuola Superiore Tecnologie Industriali (SSTI). Tralascio l’organizzazione, appena sufficiente, considerati i problemi di rete e le continue sospensioni perchè dislocati in più aule collegate in wifi (numerosa partecipazione e, per dovere di cronaca, sentite scuse da parte di tutti […]

Microsoft Visual Studio 2005: usare i dataset su SQL Server 2008

Per chi ancora nel 2009 si dovesse trovare ad utilizzare i dataset ed eventualmente in concomitanza con SQL Server 2008, potrebbe vedere questo errore in Visual Studio 2005, all’atto del tentativo di creazione di un TableAdapter: “This server version is not supported. Only servers up to Microsoft SQL Server 2005 are supported.” Per risolvere il […]

C# Framework 3.5 Linq convert System.Collections.Generic.List<AnonymousType#1> to System.Collections.Generic.List<string>

L’obiettivo è la costruzione di un metodo (sia esso public, protected o private) che ci consenta di estrarre una lista di stringhe. La signature del nostro metodo sarà: 1 public List<string> getMyString()public List<string> getMyString() Nel caso specifico vogliamo estrarre un set di dati rappresentati da una e sola colonna di una tabella del nostro database. […]

C# 3.5 LINQ: restituire una lista tipizzata LIST<T>

Ipotizziamo di creare una solution in Visual Studio 2008 che strutturi la nostra web application su n layer con un Object Model. Il progetto Object Model conterrà l’Entity Model generato da VS2008. Il DAL contiene, invece, il cuore dell’accesso ai dati: è nel DAL che andremo a creare i metodi con le query LINQ per […]

C# specifiche: gli operatori condizionali

Noi sviluppatori spesso ci troviamo ad usare, per comodità, gli operatori condizionali (operatori condizionali in c#). 1 a = condizione ? prima_espressione : seconda_espressione;a = condizione ? prima_espressione : seconda_espressione; In passato ho anche affrontato la teoria relativa ai tipi nullable, che ricordo essere dei tipi che accettano il valore null. Oggi mi è capitato […]