Free Web Analytics Microsoft Device Emulator per Mobile ASP.NET Applications - Blog di Tiziana Loporchio

Blog di Tiziana Loporchio

My .NET Passion
Microsoft Certifiied Trainer [MCT]

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. 

Comments

artista said:

Ciao Tiziana,

mi presento: sono uno sviluppatore di applicazioni Asp.Net che girano su PDA con SO Windows Ce.

Ultimamente sono passato da VS2003 a VS2005 (meglio tardi che mai). Il problema più grosso è appunto l'utilizzo dell'emulatore. Con VS2003 mi collegagavo facilmente al mio dispositivo e facevo tutte le prove del caso. Ora ho incontrato questo problema: seguendo le tue indicazioni riesco a collegare l'emulatore di Windows Mobile 2005 al pc tramite Hot Sync e riesco anche a navigare su internet..quindi tutto ok. Problema: se provo a richiedere proprio la  pagina della mia applicazione http://IpPc/NomeApplicazione/default.aspx mi viene resituito il messaggio di mancanza di connettività.

E' richiesta qualche configurazione in particolare??

Grazie in anticipo!

# March 29, 2007 10:43 PM

Tiziana said:

Ciao artista,

sto creando un piccolo video che mostri come eseguire correttamente la configurazione.

Sul Forum .NetSide troverai un forum dedicato al mobile per rispondere alle tue domande in maniera più veloce. SmileA presto Ciao!

# April 3, 2007 9:25 PM

artista said:

bè meglio di cos'ì non si può!

A presto e grazie

# April 12, 2007 10:50 PM

wHitoNet said:

Ciao,

hemm ... ma quel video lo hai creato, perchè ho lo stesso problema di "artista" e non riesco a venirne a capo !

In realta io avrei bisogno di conettermi semplicemente ad un sito in local, ma non c'è verso !

Grazie comunque

# January 8, 2008 6:06 PM