Microsoft Device Emulator per Mobile ASP.NET Applications
Oggi parliamo di Mobile ! ....Esistono tante tipologie di Mobile devices
e durante lo sviluppo è difficile avere a disposizione ogni tipo di device per effettuare i propri test. Fortunatamente
è possibile utilizzare gli emulatori in grado di simularne il comportamento.
Visual Studio 2005 include anche un nuovo tool. Si chiama Microsoft Device Emulator Manager (figura 1.) Questo software è in grado di emulare principalmente devices con Microsoft Windows CE 5.0, Microsoft Pocket PC 2003, and Microsoft SmartPhone 2003...Spesso i produttori di mobile devices forniscono anhe i propri emulatori quando il Device Emulator non ne fornisce il supporto.

Possono essere simulate tantissime caratteristiche di un device compresi storage cards e cradles. Ho anche trovato un interessante tool, che sto provando in questi giorni, che simula le chiamate e gli invii di SMS durante i test per evitare di usare la linea degli operatori reali, niente male....
...stay tuned...
Ma torniamo a noi !...Per connettersi ad applicazioni web in particolare, il Device Emulator utilizza la scheda di rete del computer host o utilizza Active Sync per la comunicazione.
Asp.net 2.0 e Visual Studio 2005 migliorano l'approccio dello sviluppatore alle Mobile Web Applications grazie a nuovi controlli, specifici templates e adaptive rendering che forniscono il corretto output dipendentemente dal device.
Quattro i passi da tenere in considerazione nella realizzazione di applicazioni web mobile :
Gestire il redirect per i mobile devices.
Disegnare ed implementare mobile Web pages.
Disegnare features "device-specific" per le pagine Web.
Fare il Browsing e testare le mobile Web pages utilizzando l'emulatore di Visual Studio 2005.
Il modo migliore per gestire le richieste di web forms da parte di un Mobile device è riconoscerlo durante la richiesta e redirigere la stessa ad una pagina disegnata appositamente per il device. Questo assicura un corretto rendering.
E' possibile riconoscere una richiesta da parte di un Mobile device controllando la proprietà IsMobileDevice del browser con il seguente codice nel Page_Load:
[Visual Basic]
If Request.Browser.IsMobileDevice Then
Response.Redirect("Mobile/default.aspx")
End If
[C#]
if (Request.Browser.IsMobileDevice)
Response.Redirect("Mobile/default.aspx");
A volte non è consentito l'uso di relative URLs come ad esempio proprio "Mobile/default.aspx". Perchè la cosa funzioni dobbiamo impostare per la Web application nel web.config la proprietà useFullyQualifiedRedirectUrl impostata a True.
<system.web>
<httpRuntime useFullyQualifiedRedirectUrl="true" />
</system.web>
Per fare i nostri test su di una semplice pagina web mobile teniamo in considerazione che il Microsoft Device Emulator si connette solo ad applicazioni ASP.NET su IIS, perciò armiamoci di pazienza
e configuriamo IIS per la nostra app web.
E' Microsoft ActiveSync® ad occuparsi della connessione tra il Device Emulator ed il sito Web appena viene fatto il cradled del device. (Attenzione il network adapter nel Device Emulator non è necessario se usiamo ActiveSync®, quindi dobbiamo disattivarlo nelle Options --> Device Tools di Visual Studio e attivare invece il protocollo DMA).
Dal menu Tools - -> selezioniamo la voce Device Emulator Manager --> Connect .
Sul tipo di emulatore che desideriamo utilizzare Actions --> Cradle.
L' ActiveSync Connection Wizard ci presenterà i passi necessari per la connessione al computer che ospita la web app. Digitando http://x.x.x.x/pagina.aspx in IE Mobile sul device potremo navigare nella nostra applicaizione web all'interno dell'emulatore.