Sto testando Entity Framework 4 (.NET 4 beta 2) con le relative Self-Tracking entities(dalla CTP 2) ed ho pensato di testare tramite un progetto di Unit Test.
Sto usando Visual Studio 2010, ma la stessa cosa vale anche per la versione 2008.
Nel testare direttamente un DAL e comunque in linea di principio se vogliamo testare dati che stanno realmente su un database(e quindi senza ricorrere a sistemi di mocking) è necessario poter lanciare uno script sql che all’inizio dei test prepari l’ambiente sul database(potresse essere valida anche l’esecuzione di uno script di cleanup alla fine del test).
Se create un progetto di tipo Test Project con VS, e fate doppio click su file .testrunconfig(vs2008) oppure .testsettings(vs2010) potete impostare una serie di configurazione per lo Unit Test tra cui “Setup and Cleanup Scripts”.
In “Setup and Cleanup Scripts” potete andare ad impostare un vostro file .bat che contiene internamente l’esecuzione di uno script sql tramite il comando SqlCmd.
Ho trovato queste indicazioni qui, metre qui riferimenti all’uso di SqlCmd.
Spero sia utile.
Purtroppo nella CTP 2 di Entity Framework per Visual Studio, scaricabile qui, non è presente il template t4 per generare le entities POCO del nostro modello.
Da questo thread si capisce che non è stato fornito in quanto è in lavorazione e verrà quindi rilasciato al più presto(si spera :))
Nel mentre utilizzerò il template per le Self Tracking Entities, anche se per parte dei miei servizi avrò bisogno di puri POCOs.
Avendo progettato e sviluppato una soluzione di workflow interamente basata su WF 3.0 ed il suo designer, ho avuto modo di andare a fondo e “litigare” con quanto di “limitato” offriva appunto il framework 3.0.
Mi sono visto due sessioni del PDC 2009 sul nuovo WF 4.0 e devo dire che le novità sono molte.
A parte il rehosting possibile grazie a WPF e poche righe di codice, è stato riprogettato tutto il framework ed il runtime di WF rendendolo di fatto estramamente personalizzabile e testabile.
Una cosa su tutte che mi piace è la presenza di due classi WorkflowInvoker e WorkflowApplication tramite cui invocare un workflow nello stesso thread del chiamante(utile per esempio per eseguire al volo in modo sincrono workflow o singole activities), piuttosto che eseguire un workflow in un contesto threadsafe(utile per workflow complessi che devono per esempio essere persistiti).
Farò sicuramente dei test e cercherò di postare di volta in volta qualcosa di concreto(codice) riguardo le novità più importanti.
Intanto vi consiglio sicuramente la visione di questi due video:
Spice Up Your Applications with Windows Workflow Foundation 4
Windows Workflow Foundation 4 from the Inside Out
Segnalo questo post di Rick Strahl su una delle nuove features del prossimo asp.net 4.0, ossia la possibilità di indicare per i controlli asp.net uno specifico client id, evitando i workaround attuali come quello di avere script server per recuperare gli id dei controlli che devono essere manipolati via javascript.
Il posto è interessante e approfondito, come sempre per tutti gli articoli di Rick.
Technorati Tags:
ASP.NET,
ASP.NET 4.0
Sto usando SubSonic 3.0 e mi sono purtroppo accorto di un problema nell’utilizzo delle stored procedure che necessito di una modifica del parametro di timeout.
Il problema è relativo all’impostazione del CommandTimeout sull’oggetto StoredProcedure di SubSonic. SubSonic “wrappa” i comandi all’interno di un QueryCommand che poi a sua volta rimappa sul DbCommand relativo al provider di database utilizzato.
Esattamente nella classe SubSonic.DataProviders.DbDataProvider e nei vari metodi Execute, non viene rimappato il CommandTimeout impostato sul QueryCommand di SubSonic nel DbCommand di ADO.NET.
La soluzione per il momento consiste nello scaricarsi i sorgenti di SubSonic e modificare nei punti indicati(oltre che di segnalare il bug su github, che proprio ora che mi serve è down!!!)
Technorati Tags:
SubSonic
Se installate su un server web la vostra applicazione silverlight(2.0 o 3.0) e quando la richiamate dal browser avete un errore del tipo:
Message: Unhandled Error in Silverlight Application
Code: 2104
Category: InitializeError
Message: Could not download the Silverlight application. Check web server settings
Probabilmente il problema è che manca la registrazione, sul web server del mime type che mappa lo xap di Silverlight:
Estensione: .xap
Tipo MIME:application/x-silverlight-app.
del.icio.us Tags:
Silverlight
Ho perso qualche ora per arrivare alla fine a questo KB del supporto di Microsoft che spiega come creare lo slipstream di installazione di Team Foundation Server 2008 SP1 se sul server c’e’ installato SQL SERVER 2008:
Questo il link all’articolo.
del.icio.us Tags:
TFS 2008
Dalla fonte:
http://blogs.msdn.com/adonet/archive/2009/06/22/feature-ctp-walkthrough-self-tracking-entities-for-entity-framework.aspx
“The first scenario we are trying to address with Self Tracking Entities is one in which a WCF service exposes a series of operations that return entity graphs, then a client application can manipulate that graph and submit the modifications to a service operation that validates and performs the updates to a database store using Entity Framework”
E finalmente stiamo arrivando a qualcosa di serio…
Leggere anche questo relativamente alla nuova generazione di POCO entities tramite T4.
PS. l’evidenziazione in grassetto della frase è mia e non della fonte.
PS2. per me che sono un promotore dell’ “autogenerazione del codice”, T4 è veramente potente e di fatto lo uso già per generarmi i miei DTO.
Qui è spiegato come passare parametri di inizializzazione all’applicazione Silverlight.
Il metodo spiegato funziona utilizzando il controllo asp.net che crea e lancia Silverlight. Se la nostra interfaccia è invece una pagina html, i parametri possono essere passati direttamente al javascript nel seguente modo:
<
object data="data:application/x-silverlight-2," type="application/x-silverlight-2"
width="100%" height="100%">
<param name="source" value="ClientBin/PlugIn.Trasparenza.UI.xap"/>
<param name="onerror" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="2.0.31005.0" />
<param name="autoUpgrade" value="true" />
<param name="initParams" value="myparam=value" />
<a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight"
style="border-style: none"/>
</a>
</object>
Sto affrontando da poco un primo progetto in Silverlight 2.0 e tra le tante features presenti, ho da subito notato la mancanza di un sistema che permetta la navigazione tra pagine xaml.
Infatti, a meno che non si sviluppino semplici demo e/o test case, mi sembra quanto meno una cosa importante poter organizzare la propria Silverlight-application su più xaml page che verranno più o meno caricate in base alle azioni utente.
In Silverlight 3.0 il supporto per la navigazione tra pagine(integrato anche con il sistema di navigazione del browser) ci sarà.
In Silverlight 2.0, una soluzione valida, probabilmente l’unica, viene da qui.
del.icio.us Tags:
Silverlight