La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Alejandro Mezcua MVP Device Application Development

Presentaciones similares


Presentación del tema: "Alejandro Mezcua MVP Device Application Development"— Transcripción de la presentación:

1

2 Alejandro Mezcua MVP Device Application Development alejandro.mezcua@byteabyte.net http://www.byteabyte.net/

3 Mostrar el uso de servicios Web WCF en.NET Compact Framework 3.5 Ver un ejemplo de integración de una solución completa (móvil – Web)

4

5 { en vivo }

6 Servicio creado en una aplicación Web ASP.NET Binding básico Único utilizable desde.NET CF <endpoint address="" binding="basicHttpBinding" bindingConfiguration="fotoUploaderConfig contract="LugaresVisitadosWebSite.IFotoUploader"> …

7 Ampliado el límite de elementos aceptables para un parámetro de tipo array Por omisión 32k Una imagen es un byte[] readerQuotas maxArrayLength="131072" />

8 Servicio alojado en IIS Guarda fotos y metadatos (posición) en App_Data No accesible con Server.MapPath El contexto habitual de IIS no está accesible en WCF por omisión string fotoLocalPath = String.Format("{0}\\{1}\\{2}", HostingEnvironment.ApplicationPhysicalPath, "App_Data", fotoFileName);

9 { FotoUploaderSvc}

10 Aplicación Windows Forms.NET CF 3.5 Creación del proxy usando NetCFSvcUtil.exe Instalado con los Power Toys for.NET CF 3.5 (no viene con Visual Studio de serie) C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\bin> Netcfsvcutil.exe /language:cs http://[servicio].svc

11 Incluir los archivos generados en el proyecto CFClientBase.cs, FotoUploader.cs Usar el proxy para invocar al servicio web FotoUploaderClient uploader = new FotoUploaderClient( FotoUploaderClient.CreateDefaultBinding(), new System.ServiceModel.EndpointAddress([UrlServicio])); if (!uploader.UploadFoto(fileByteBuffer, latitud, longitud, notas)) …

12 { LugaresVisitadosWMClient }

13 Permite mostrar las fotos en tamaño completo o reducido Al estar en App_Data no son accesibles directamente, se usa un HttpHandler http://[server]/[dir]/fotoHandler.ashx?fileName=[fileInApp_Data]&width=[imageWidth]

14 Las fotos en el mapa se muestran desde JavaScript Se usa un servicio WCF que expone los datos en formato de JSON (fotosCoordenadas.svc) … <endpoint address= binding="webHttpBinding contract="LugaresVisitadosWebSite.IFotosCoordenadas" behaviorConfiguration="jsonBehavior"> …

15 Desde ASP.NET AJAX se accede al servicio mediante una referencia Desde JavaScript se usa como un objeto JavaScript function mapReady() { var ws = new byteabyte.net.samples.IFotosCoordenadas(); ws.GetFotos(getGetFotosComplete); }

16 El nombre a usar en JavaScript lo debe dar intellisense, si no, acceder al servicio y ver qué devuelve La llamada es asíncrona, en la respuesta se tienen objetos (según se exporten en el servicio) http://localhost/lugaresvisitados/fotoscoordenadas.svc/js function getGetFotosComplete(result) { … for(var i = 0; i < result.length; i++) { var ve = new VELatLong(result[i].Latitud, result[i].Longitud); … }

17 { La aplicacion Web }

18 { ¿Preguntas? } Alejandro Mezcua MVP Device Application Development http://www.byteabyte.net/ alejandro.mezcua@byteabyte.net


Descargar ppt "Alejandro Mezcua MVP Device Application Development"

Presentaciones similares


Anuncios Google