La gestione delle date (tipo DateTime) con i web services (fino ad ASP.NET v1.1) riserva una marea di grattacapi. Se vogliamo gestire le date nulle, non è possibile, a meno di costruirsi una SOAP extension che prenda lo stream SOAP e converta tutti gli elementi di tipo data nulle in valorizzate. Se non lo facciamo, un elemento stile:
<dt xsi:nil="true" />
dove dt è una data, ci lancierà una bella eccezione. In Whidbey, con l'avvento dei Nullables cambia tutto, basta infatti marcare il nostro parametro come segue:
public string PrintDate(Nullable<DateTime> dt)
Ovviamente bisognerà, all'interno del codice, verificare se la data è nulla oppure no (dt != null oppure dt.HasValue). L'alternativa, suggerita dal nuovo WSDL.EXE consiste nell'usare il tipo SqlDateTime che però presenta uno schema XML decisamente complesso. Ma questo è un'altro film ;-)