Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porFlorencio Coronado Modificado hace 10 años
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)
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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.