Dev
Nel post di Brian Harry qui: http://blogs.msdn.com/b/bharry/archive/2013/06/03/visual-studio-2013.aspx La prima preview build di VS 2013 verra’ rilasciata alla fine del mese di Giugno alla conferenza “Build 2013”. Technorati Tags: Visual Studio 2013
Le WCF Web API sono adesso incluse in ASP.NET MVC e si chiamano solo Web API.
La cosa interessante e’ che si possono usare gli stessi paradigmi di programmazione di MVC (Routes, Model Binder, Validation, Filters) per creare servizi HTTP/RESTful.
Si puo scaricare la Beta di ASP.NET MVC 4 da qui: http://asp.net/mvc/mvc4
Dopo aver installato la versione Beta di MVC 4, in Visual Studio avremo la possibilita’ di scegliere un nuovo progetto:
Un estratto dal blog post di Jon Galloway, le caratteristiche pricipali delle Web API:
ASP.NET Web API includes support for the following features:
Modern HTTP programming model: Directly access...
Se volete sperimentare con ASP.NET 4 Beta1, free hosting fino a fine Ottobre 2009, come riportato in questo post: Free Web Hosting to try ASP.NET 4 Beta1, ... Attenzione, ASP.NET 4 beta 1 non ha ancora la licenza Go-Live quindi non si puo’ utilizzare questo spazio per applicazioni in produzione.
Due ottimi articoli su come implementare una strategia per il SEO (Search Engine Optimisation) per Silverlight usando i nuovi .NET RIA Service: Search Engine Optimization for Silverlight Applications Search Engine Optimization for Silverlight Applications – Part 2 Technorati Tags: SEO,Silverlight,RIA
Ho parlato del rilascio del framework .Net RIA Service pochi giorni fa in un post precedente. Oggi ho trovato su Silverlight Show una serie di articoli molto interessanti su come costruire applicazioni business usando il framework: Creating applications with .NET RIA Service Part 1 – Introduction Creating applications with .NET RIA Service Part 2 - Creating the project Creating applications with .NET RIA Service Part 3 - Adding DomainService class Un’altra serie di articoli interessanti su Silverlight Show e’ questa: Building a Framework for Silverlight Line-Of-Business Applications ...
Un’altra notizia sempre dal MIX09, e’ stata rilasciata la prima CTP pubblica dei .NET RIA (Rich Internet Application) Services. E’ un framework che permette di creare facilmente un middle-tier che possa unificare l’accesso a DAL da parte di applicazioni ASP.NET e Silverlight. Qui il download e qui un documento che spiega in dettaglio le caratteristiche del framework e degli esempi di applicazione. Fonte: Silverlight Makes Version 3 at MIX '09 Technorati Tags: ASP.NET,Silverlight,RIA,Framework
Ottima notizia dal keynote del MIX09. Se avete programmato un sito web almeno un volta, vi sarete sicuramente scontrati con i problemi di visualizzazione delle pagine su browser differenti. In particolare conosciamo tutti i problemi di visualizzazione di IE5 e IE6. La nuova funzione di SuperPreview di Expression Web permette di visualizzare la pagina su browser multipli all’interno di Expression Web, per vedere le differenze di visualizzazione. Si possono anche sovrapporre due pagine renderizzate da browser diversi, per vedere le differenze in maniera intuitiva. Inoltre si puo isolare la parte della pagina...
Rilasciata su Codeplex la preview 4 di ASP.NET Ajax 4. Queste le novita': ADO.NET Data Services support WCF and ASMX Web service integration ASP.NET AJAX Client Templates Declarative instantiation of client-side controls and behaviors Observable pattern for plain JavaScript objects Live Bindings Markup Extensions DataView control and DataContext component Command Bubbling Change tracking and identity management ...
Ok, non l'hanno inclusa nella CTP di VS 2010 ma e' possibile scaricarla autonomamente da qui: http://download.microsoft.com/download/4/2/3/423FFDF3-B0B9-4EF0-990F-82DDE530B672/RepositoryOct2008CTP.msi Per maggiori informazioni, consiglio di visitare questo sito: Oslo Developer Center Technorati Tags: Oslo, Visual Studio
E' stato rilasciato un file di documentazione che abilita l'intellisense per jQuery in VS 2008 Si puo scaricare dal sito di jQuery: http://code.jquery.com/jquery-1.2.6-vsdoc.js Importante: questo file va usato solo durante il design e va rimosso a runtime! Fonte: jQuery IntelliSense documentation file available Technorati Tags: jQuery, Intellisense, Visual Studio, JavaScript
Technorati Tags: Dependency, Patterns, DI, IoC Scott su CodeBetter ha iniziato una serie di articoli molto ben fatti sulla Dependecy in generale come design architetturale (inclusi chiaramente DI e IoC) Parte 1: Dependant-Driven Architecture Parte 2: Dependency Patterns: Optional Dependencies and Primal Dependencies Consiglio vivamente la lettura.
Technorati Tags: Resharper, Beta Da scaricare e installare subito, guardate le nuove features: Full-featured Visual Basic .NET Support Unique Code Analysis for C# Code Cross-Language Functionality XML and XAML Support Download
Technorati Tags: Thread, Sleep, Priority, Synchronize, Scheduler System.Thread.Sleep(0) e’ comunemente usato quando un thread ha finito il suo lavoro e vuole rilasciare il suo “quantum” di tempo allocato, per ritornare il controllo allo scheduler ed eseguire altri threads che sono in attesa (una comune analogia e’ con Application.DoEvents).Questa procedura pero’ non tiene conto della priorita’ assegnata ai vari threads. Se per esempio il thread che si sta eseguendo e’ l’unico con priorita’ alta, quando si chiama Sleep(0) il controllo ritorna allo scheduler che eseguira’ il prossimo thread in ordine di priorita’, che in questo caso e’ il thread stesso.Quindi...
Technorati Tags: Microsoft, Astoria, Web Service, SOA Come dice Lorenzo, "Quick and Clean" :-s applicato a SOA, ma solo per i dati??? "The goal of Astoria is to facilitate the creation of flexible data services that are naturally integrated with the web. As such, Astoria uses URIs to point to pieces of data and simple, well-known formats to represent that data, such as JSON and plain XML. This results in the data service being surfaced to the web as a REST-style resource collection that is addressable with URIs and that agents can interact with using the usual HTTP verbs...
L'applicazione sviluppata per la metropolitana di Londra e' IMHO la piu bella e' complicata applicazione fatta con Windows Presentation Foundation che si sia vista fino ad adesso.
...Continua...
Mi e' appena arrivato in posta l'ultimo numero (n.9) dell'Architecture Journal (mi piace avere la versione cartacea, si puo leggere anche in aereo, etc.). In questo numero gli articoli sono interessantissimi perche' trattano principalmente di Software Factories e DSM (Domain Specific Modeling). Mi butto a leggerlo, se volete la versione online, la potete trovare qui: http://www.architecturejournal.net/
Patrick Dussud, uno dei padri fondatori del CLR, scrive nel suo primo blog post di come si e' arrivati ad avere il runtime come lo conosciamo oggi: Lui, Anders e altri al tempo erano membri di un team che lavorava sulla JVM Non contenti di come la JVM si evolveva, decisero cambiare e di fondersi con il team COM per formare uno nuovo gruppo chiamato COM 2.0 Dopo un po di tempo, in disaccordo con il team COM su come implementare il management degli oggetti, decisero di formare due gruppi separati: COM+ e CLR Al team CLR furono poi aggiunti alcuni membri...
Un bel post di David Hayden dove spiega il modo migliore per usare il constraint new() per le classi generiche: Using the new and class keywords with .NET Generics Il motivo per usare anche il constraint class insieme a new(), e' dovuto al fatto che senza il class, il compilatore non sa se il tipo generico e' un value type o un reference type e quindi deve fare un controllo su tutti e due. Mentre con il constraint class specificato, sappiamo che il tipo deve essere per forza un reference type. Nel post di David e' mostrato il codice IL per...
Disponibile la beta 2 dei CSS adapters per ASP.NET, che renderizzzano i controlli usando solo CSS Friendly markup (per esempio usando div invece di table). Tra i nuovi controlli supportati c'e' anche la GridView! (era ora......a quando le webparts ???) Nuovi controlli supportati nella beta 2: GridView Login ChangePassword PasswordRecovery CreateUserWizard LoginStatus CSS Friendly ASP.NET 2.0 Control Adapters (Beta 2.0)
Direttamente dal blog di Nikhil, un interessante diagramma che mostra l'evoluzione dei linguaggi di programmazione nella storia fino ad oggi. Alcuni spunti interessanti:
Il primo linguaggio di programmazione considerato tale e' il Fortran creato nel 1954
Il piu longevo linguaggio e' sempre il Fortran (l'ultima versione rilasciata nel 2003)
Python creato nel 1991 prendendo ispirazione da ANSI C, ABC e Modula3...si Lawrence tu prob. lo sapevi gia
Ruby esiste dal 1993! (mai sentito prima di 5-6 anni fa...ma in effetti la versione 1.0 e' uscita nel 1997, ben 4 anni dopo la creazione)
Non c'e' il GWBasic!
powered by IMHO...
Dopo Linq, DLinq (Data), XLinq (XML) adesso c'e' anche
BLinq.
Blinq e un estensione di Linq per creare siti ASP.NET completi di tutte le
necessarie funzioni per interfacciarsi ad un database usando la sitassi di Linq.
BLinq crea un Data Access Layer in C# o VB.NET a partire da un database
esistente.
"Blinq is a tool for generating ASP.NET websites for
displaying, creating, and manipulating data based on database schema. Just
point Blinq at a SQL database and it will create a website with pages that
display sorted and paged data, allow you to...
Il dibattito e' infinito...
Per aggiungere un altro argomento alla discussione, vedere questo articolo di Sahil, dove elenca i pro e i contro
delle due soluzioni.....e il vincitore e'.........nessuno dei due come al
solito.
Aspettando DLinq...
powered by IMHO 1.3
Il rimedio al fatto che le pagine web si stampano male in
IE6 e Firefox, potrebbe essere quello di tradurre le pagine in PDF
prima di stamparle, come spiegato qui:
http://codebetter.com/blogs/brendan.tompkins/archive/2006/05/22/145267.aspx
Oppure installare IE7
La soluzione adottata sopra crea un custom
Response Filter in ASP.NET per
intercettare lo stream che viene diretto al browser e mandarlo ad un
HTTP Handler per tradurlo in formato
PDF.
Rimanendo in tema di Response Filters, questo articolo mostra come crearne uno per produre un XHTML-Compliant Response stream.E'
interessante vedere i metodi usati, tipo inglobare il ViewState in un DIV,
rimuovere gli attributi "name" ed altri ancora.
powered by IMHO 1.3
E' uscita una nuova versione, non ci sono ancora
notizie ufficiali sul sito (arriveranno presto penso...)
Ci sono 4 nuovi controlli:
Always Visible : Docks any panel to the browser edge
so it remains visible all the time.
Drop Shadow : Adds attractive drop shadows to any
control on the page!
Modal Popup : Shows styled modal UI without using HTML
dialogs!
Rounded Corners : Rounds the corners of any control
for a clean, professional look.
Gli effetti implementati sono molto belli devo dire.
Qui il download
powered by IMHO...
Raymond su CodeBetter.Com ha
postato due utilissimi posters che raggruppano i piu comuni design patterns e la
loro implementazione:
http://codebetter.com/blogs/raymond.lewallen/archive/2006/05/03/143979.aspx
Da appendere...
powered by IMHO 1.3
Ho appena visto sul blog di Brian
Goldfarb che finalmente hanno rilasciato gli adapters per
il render dei web controls usando tags e stili CSS (prima beta
pubblica).
Qui il post di Brian e il qui si puo scaricare il
file di installazione.
Il controllo <asp:Menu> per esempio adesso puo
essere renderizzato usando <ul> e <li> invece che con tabelle come
di default. Si puo vedere un
esempio qui della differenza fra il markup di default e quello
generato dai nuovi adapters.
Gli altri controls estesi sono: TreeView, DetailsView, FormView, DataList
Ma... webpart, webzone, etc.???
powered by IMHO 1.3
Quick post prima di uscire,
Resharper 2.0 e' finalmente uscito dalla Alpha e e' disponibile in beta per
il download
Buona serata a tutti.
powered by IMHO 1.3
E' stato rilasciato l'Atlas Control Toolkit, una serie di controlli che usano Atlas
con incluso il codice sorgente che puo' essere modificato a piacere.
I controlli inclusi sono questi:
CascadingDropDown: Easily link drop downs, complete with
asynchronous population and no postbacks!
CollapsiblePanel: This extender allows panels on your page
to collapse and expand with no code.
ConfirmButton: This extender adds a confirm dialog to any
Button, LinkButton, or ImageButton control.
DragPanel: Makes any panel into an object that you can drag
around the page.
HoverMenu: Allows UI to pop up next to a control when the user
hovers over it.
PopupControl: This extender...
E' stata rilasciata la CTP di Aprile di ATLAS, sempre
con la licenza Go-Live quindi utilizzabile in produzione.
Potete trovare qui i dettagli e qui il Download.
Per i Community Days, mi aggiungo al gruppo dei non presenti purtroppo ...i
voli low-cost nel periodo pasquale costano di piu' di quelli di
linea...oltretutto sono reduce da una settimana di vacanze
, quindi il lavoro si e' accumulato...
Spero che la mia iscrizione sia andata a qualcuno che ne fara' buon uso...mi
dispiace molto anche per la partita, mi sarebbe piaciuto...e' un po' che non
giocavo...
Un gran bel articolo di James Shore sulla qualita' del design del
software, con molti spunti interessanti e alcuni suggerimenti di valore:
Specifically, if you're an "architect" or "designer" and you don't
produce code, remember that it's the programmers who are finishing your design
for you. They're going to fill in the inevitable gaps and they're going to
encounter and solve problems you didn't anticipate. If you slough this detail
work off onto junior staff, the final design could easily be lower quality
than you expected. Get your hands dirty. Follow...
Wilco Bauwer sta lavorando ad un interprete Ruby per il CLR .NET
sullo stesso stile di IronPython.
Da tenere d'occhio:
IronRuby
Avevo gia' segnalato qualcosa di simile sviluppato dalla Queensland University of Technology:
Ruby.Net
powered by IMHO 1.3
Non mi piace per niente la keyword var che verra'
inserita nel nuovo C# 3.0Questa permette di definire variabili senza specificarne il
tipo, una tecnica chiamata Type
Inference:
var i = 5;var name = "John";var mytype = List<float>;var myret = function();
Ok, non e' weakly-typed come puo sembrare perche' il compilatore assegna il tipo
a compile-time e non ci saranno problemi di performance a runtime.Ma secondo me, diminuisce di
brutto la leggibilita' del codice. E' vero posso sempre non usarla, ma quando mi
arriva il codice di qualcun'altro da modificare?E' anche vero che e'
necessaria per supportare i tipi anonimi che verrano inseriti in C# e
anche in LINQ
(per esempio i valori di ritorno di una...
Questo e' un bel esempio di applicazione web, creato da
Ray Ozzie, CTO di Microsoft.
Copia e incolla parti di un pagina web anche fra browser differenti (provato
IE e Firefox)
Qui l'esempio
Qui la spiegazione tecnica
I sorgenti sono disponibili sotto licenza Creative
Commons.
powered by IMHO 1.3
Sullo stesso stile dell'analogia eccezioni/altro.. riportata da Lorenzo, eccone un'altra molto divertente:
"If a programmer ever considers writing an
'interface' for others to implement, one should to think about the most
intuitive 'Interface' ever made... the nipple. It doesn't matter what age you
are... you always know what to do with a nipple."
Il post completo e' qui .
"Ooh check out the interfaces
on that !!"
powered by IMHO 1.3
Leggendo questo articolo di K. Scott Allen, ho scoperto alcune
cose interessanti sull'AutoEventWireup in ASP.NET 2.0 che riporto qui.
AutoEventWireup e' abilitato di default in C# (=true) mentre e'
disabilitato in VB (=false).
In VB quindi in dobbiamo usare la keyword Handles
per connettere l'evento al "handler"
che lo gestisce:
Protected Sub Page_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles Me.Load
mentre in C# basta seguire la convenzione dei nomi e chiamare il metodo
Page_EventoDaGestire
protected void Page_Load(object sender, EventArgs e)
Se settiamo AutoEventWireup=true su VB possiamo fare a
meno di specificare la clausola Handles
e seguire la...
Un ottimo esempio di utilizzo del VirtualPathProvider:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/vpp_vga.asp
powered by IMHO 1.3
Una critica che e' stata rivolta a Microsoft da molti
sviluppatori dopo l'uscita di VS2005 e' che in C# ci sono pochissimi snippets
rispetto a VB, che invece ne ha molti, divisi per categoria.
Gli stessi snippets sono ora disponibili anche per C#, categorizzati allo
stesso modo, e possono essere scaricati, singolarmente o tutti insieme in
un unico file che conserva la struttura delle categorie in directories
differenti, da qui:
http://msdn.microsoft.com/vstudio/downloads/codesnippets/default.aspx
powered by IMHO 1.3
Questa mi era sfuggita.Andando sulla pagina di
Visual Basic future versions:
http://msdn.microsoft.com/vbasic/future/
il download e' in altro a destra (January 2006 Preview)
- Update -
E' una versione update (additive release) di quella prima.Include alcune nuove features come l'intellisense per LINQ e altre come specificato qui:
http://blogs.msdn.com/vbteam/archive/2006/01/23/VB_LINQ_CTP_Now_live_on_MSDN.aspx
powered by IMHO 1.3
E' stata rilasciata finalmente la versione finale 2.0
dell'Enterprise Library, scaricabile da qui:
http://msdn.microsoft.com/library/?url=/library/en-us/dnpag2/html/EntLib2.asp
Fonte: http://agileprogrammer.com/geeknoise/archive/2006/01/20/10974.aspx
powered by IMHO 1.3
Il webcontrol <asp:Menu> di ASP.NET 2.0 renderizza in HTML di
default come una tabella (<TABLE>).
Per avere piu' controllo sul codice generato e creare un menu usando i tags
<UL> e <LI>, e' possibile (e molto semplice) usare il controllo
Repeater:
<div id="navigation">
<ul>
<li>
<a href="default.aspx">Home</a>
</li>
<asp:Repeater ID="foo" DataSourceID="SiteMapDataSource1" runat="server">
<ItemTemplate>
<li>
<a href='<%#Eval("url")
%>'><%#Eval("Title")
%></a>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>
<asp:SiteMapDataSource ID="SiteMapDataSource1" ShowStartingNode="false" runat="server" />
Semplice ma efficace.
Fonte: http://weblogs.asp.net/scottgu/archive/2006/01/17/435765.aspx
powered by IMHO 1.3
Non mi ricordo se e' gia stato postato sul blog, ma nel
dubbio lo riposto perche' e' un ottimo sito di riferimento:
http://www.systemnetmail.com/
powered by IMHO 1.3
Scott ha segnalato un nuovo
plugin per VS 2005 per editare gli
stili in ASP.NET design:
"Today we posted the first download of a new CSS
Properties Window on the Sandbox tab that you can install on top of VS 2005 to
get richer CSS editing and management support. Much richer CSS designer
support is a big investment we are making for the next release of Visual
Studio. The CSS Properties Window download provides some early support that
you can use today, as well as an opportunity to give feedback on the exact...
Con qualche modifica rispetto alla RC di Novembre.
Post Ufficiale e Pagina su MSDN
powered by IMHO 1.3
Invece di usarne uno gia pronto, per buttare via un po'
di tempo ho deciso di scriverne uno. Mi serviva un semplice client che
trasferisse un file predeterminato ogni giorno da mettere nel task scheduler.Ho
trovato
un'ottima libreria open source che si chiama edtFTPNet molto facile da usare e con cui e' molto semplice
implementare il tutto:
using System;using System.IO;using EnterpriseDT.Net.Ftp;namespace SimpleFTP{ class Simple { [STAThread] static void Main(string[] args) { try { FTPClient ftp = new FTPClient(); // Host ftp.RemoteHost = "Host"; // Connect ftp.Connect(); // Login ftp.Login("User", "Password"); // Set up connect and transfer modes ftp.ConnectMode = FTPConnectMode.ACTIVE; ftp.TransferType = FTPTransferType.ASCII; // Put file to remote server ftp.Put("local_file", "remote_file"); // Close connection ftp.Quit(); } catch (Exception e) { Console.WriteLine(e.Message); } Console.ReadLine(); } }}
powered by IMHO 1.3
Scott Allen ha creato una macro che crea il
file web.sitemap dinamicamente per siti ASP.NET 2.0 leggendo i
paths dei files automaticamente.
powered by IMHO 1.3
Una delle classi che mi piacciono di piu' nel nuovo
framework e' HttpListener
Con poche linee si codice si puo implementare un mini web server e
mostrare pagine create dinamicamente:
using System;using System.Net;using System.Threading; namespace HttpListenerExample{ class Program { static void Main(string[] args) { HttpListener listener = new HttpListener(); listener.Prefixes.Add("http://+:5555/httplistener/"); listener.Start(); string uri = @"http://localhost:5555/httplistener/"; System.Diagnostics.Process browser = new System.Diagnostics.Process(); browser.StartInfo.FileName = "iexplore.exe"; browser.StartInfo.Arguments = uri; browser.Start(); HttpListenerContext context = listener.GetContext(); context.Response.ContentType = "text/html"; String body = "<html><body><h1>This is the HTML body</h1></body></html>"; byte[] buffer = System.Text.Encoding.UTF8.GetBytes(body); context.Response.ContentLength64 = buffer.Length; System.IO.Stream output = context.Response.OutputStream; output.Write(buffer,0,buffer.Length); output.Close(); Thread.Sleep(100); listener.Stop(); } }}
Funziona solo con Windows XP SP2 o Windows Server 2003
powered by IMHO 1.3
Per chi volesse includere l'installazione del .NET framework 2.0 nel setup delle applicazioni, qui c'e' un ottimo articolo che descrive dettagliatamente ogni parametro nel setup.ini file.
Fonte: http://blogs.msdn.com/astebner/archive/2005/10/26/485025.aspx
powered by IMHO 1.3
In Internet explorer il controllo SELECT e' "windowed" mentre i controlli DHTML (come il DIV) sono "windowless".
http://support.microsoft.com/default.aspx?scid=kb;en-us;177378
In internet explorer non c'e' modo in una pagina HTML di mettere un DIV sopra ad un SELECT (specificando uno z-index piu' alto) perche' i controlli windowed rimangono sempre sopra ai windowless.
Il metodo piu comune per aggirare questa "feature" di IE e' quello di mettere un IFRAME delle stesse dimensioni del DIV nascosto sotto al DIV stesso. Il controllo IFRAME e' l'unico che supporta lo z-index verso sia i controlli windowed che windowless.
Purtroppo questo trucco funziona solo da IE 5.5 in poi, perche' in IE 5 anche il...