December 2006 - Artículos - Blog de Oskar Alvarez

December 2006 - Artículos

Migrar de Servicios Web a WCF

Imaginemos que tenemos desarrollados una serie de servicios web que estan siendo consumidos por una gran diversidad de clientes y quiero realizar la migración de estos servicios a WCF, como puedo hacerlo sin que afecten a esos clientes. La manera es modficar nuestro servicio web decorandolo con los atributos de WCF pero manteniendo los atributos de Web Services. using System; using System.Web; using System.Collections; using System.Web.Services; using System.Web.Services.Protocols; using System.ServiceModel;...
Publicado por Oskar Alvarez | 2 comment(s)
Archivado en:

WCF Manejando Generics en el Cliente

Una de las cosas que mas me molestaban, era definir mis operaciones en el servicio utilizando Generics y ver que en el cliente la generación de la clase me transformaba esos Generics en arrays asi que empece a curiosear a ver si podia utilizar Generics en el cliente. Una de las cosas nuevas de WCF es la posibilidad de no tener que definir un proxy a partir de un wsdl, de manera que si estoy haciendo una aplicación distribuida mia y solo mia, en la cual yo defino la interfaz del servicio y nadie mas...
Publicado por Oskar Alvarez | 2 comment(s)
Archivado en:

Excepciones en WCF. Heredar de Exception

Este post surgio ayer durante la charla que dimos Miguel Jimenez y yo sobre WCF para el grupo de usuarios Artalde.Net en la universidad de Deusto. Rodrigo nos pregunto si a la hora de implementar una excepcion, la clase que implementamos para introducir en el FaultContract no podia heredar de la clase Exception. La respuesta es la siguiente. Si tenemos el siguiente ejemplo. [DataContract] public class HolaException:Exception { private string _descripcion; [DataMember] public string Descripcion {...
Publicado por Oskar Alvarez | 4 comment(s)
Archivado en:

Manejando excepciones en WCF

Una de las cosas con las que me he encontrado mas agradables en WCF es el manejo de excepciones. Alguien recuerda como las teniamos que hacer para enviar una excepcion a traves de un servicio Web?? Bastante lioso o al menos para mi. En cambio en WCF es bastante sencillo realizarlo, lo primero que vamso a ver es returnUnknownExceptionsAsFaults. WCF nos ofrece una opción para lanzar automaticamente cualquier exceeción que se produzca en nuestro sercicio como una Soap Fault. Para habilitarlo debemos...
Publicado por Oskar Alvarez | 7 comment(s)

Trazando un servicio WCF

Muchas veces nos preguntabamos como realizar logs en nuestras aplicaciones, en mi opinión es una tarea que debemos de realizar o preveer siempre que desarrollamos un proyecto por los beneficios que nos aporta los cuales ya explicamos resumidamente aqui . WCF nos ofrece una manera muy sencilla de poder introducir logs en nuestro servicio y no debe de haber excusa para no utilizarlo cuando desarrollemos. Os imaginareis como se especifica un log en un servicio WCF???. pues como siempre a traves del...
Publicado por Oskar Alvarez | 2 comment(s)
Archivado en:

Application Block de Loggin

A mi me encanta Enterprise Library, creo que es una de las librerias de Microsoft a las que se puede sacar jugo de una manera muy sencilla. En este post voy a intentar explicar como realizar logging en nuestras aplicaciones apoyandonos en Enterprise Library 2.0 ¿A que necesidades nos solemos enfrentar cuando desarrollamos una aplicación y queremos implementar un sistema de Logging?. Respondiendo a esta pregunta tendríamos las respuestas: Poder generar eventos de log en diferentes repositorios(bases...
Publicado por Oskar Alvarez | 10 comment(s)
Archivado en:

Mocks

Despues de meterme en el mundo de las pruebas unitarias, me llego el momento de introducirme en los mocks. La primera vez que lo oi, ni sabia lo que era y creo que es una de las herramientas mas interesantes para la realización de pruebas unitarias. Espero que quede claro con este post lo que es una pequeña introducción a este mundo. Dar las gracias a Javi Larrea desde aqui. Introducción Llamamos “mock” a un objeto falso que simula el comportamiento de un objeto verdadero. A priori podemos pensar...
Publicado por Oskar Alvarez | 2 comment(s)

WCF DataContracts

En los posts anteriores hemos llegado a ver la implementación de un servidor y cliente sencillos de WCF. Los datos que eran intercambiados eran clases del framework (int, string...), pero como intercambiar datos de mis clases (Clientes, proveedores...). El CLR debe generar un esquema XML a partir de un tipo, es lo que se conoce con el nombre Data Contracts. El Data Contract describe como los tipos CLR son mapeados al esquema XML. Al igual que ocurria con los servicios Web, las clases que representan...
Publicado por Oskar Alvarez | 1 comment(s)
Archivado en:

WCF el Cliente

Una vez construido nuestro servicio y hecho el hosting del mismo, ahora nos queda realizar el cliente, es decir, como consumir ese servicio. Para ello crearemos un aplicación de consola y el primer paso es añadir la serferencia del ensamblado System.ServiceModel. Si recordamos como funcionabamos con los servicios Web debiamos añadir la referencia para poder interactuar con el servicio Web que nos generaba el mapeo, clases... para poder utilizarlo en nuestra aplicación, ahora necesitamos dos archivos...
Publicado por Oskar Alvarez | 3 comment(s)
Archivado en:

Error curioso en TFS

Hoy estabamos configurando una maquina virtual en la que hemos instalado TFS WorkGroup y nos hemos encontrado con el siguiente error TF54000: Error TFS Clock time advanced o en castellano Exception Message: TF54000: No se puede actualizar porque el reloj del servidor se puede haber establecido incorrectamente Era tan sencillo que al crear la maquina virtual no le pusimos la fecha correctamente, sino que le pusimos sin darnos cuenta 1 de Noviembre, con lo que al generar el proyecto la fecha de mi...
Publicado por Oskar Alvarez | con no comments