WCF - Blog de Oskar Alvarez

Ver por etiquetas

Todas las etiquetas » WCF (RSS)

WCF Modificar la respuesta SOAP antes de la Deserialización

-    Hola, después de mucho tiempo sin escribir debido a vacaciones, trabajo agobiante, prepararme para mi otra afición (correr)…, me he propuesto volver a escribir en el blog, quizás no con tanta periodicidad como antes pero no olvidarme de el. Para este primer articulo después del kitkat, voy a hablar de un problema que he tenido recientemente.  La aplicación que estamos desarrollando es muy consumidora de servicios web de Java servidos por WebLogic 8. Recientemente la parte de WebLogic...
Publicado por Oskar Alvarez | 1 comment(s)
Archivado en:

Guía de WCF para desarrolladores de WPF

En el maravilloso sitio de Codeplex se acaba de publicar la guía de WCF para desarrolladores de WPF, en ella podéis encontrar ejemplos, webcast de como plantear los servicios de WCF en aplicaciones WPF, van desde la introducción hasta problemas como manejo de excepciones, multithreading, manejo de la vida del proxy… Podéis acceder a ella desde aquí, os la recomiendo.
Publicado por Oskar Alvarez | 2 comment(s)
Archivado en: ,

Llamar de forma asincrona a servicios WCF

A veces nos interesa llamar de forma asincrona a un servicio WCF que sabemos que va a tardar cierto tiempo en procesarse y queremos que nuestro proceso cliente siga haciendo cosas mientras el servicio se va ejecutando. Es bastante sencillo utilizar llamadas asincronas en servicios WCF, solo tenemos que poner el parametro /async cuando ejecuto la herramienta svcutil para generar el proxy en el cliente SvcUtil http://localhost:8000/ /async /out:ProxyAsync.cs /noConfig De manera que me generara el proxy...
Publicado por Oskar Alvarez | 4 comment(s)
Archivado en:

¿Es complicado configurar WCF?

WCF nos provee de un bonito esquema XML para poder configurar nuestros servicios y cientes WCF en los archivos app.config o web.config. Una de las cosas que siempre me encuentro cuando enseño a alguien WCF es siempre la respuesta que es demasiado configurable y que al final les causa problemas porque esta configuración ademas de ser extensiva no es nada intuitiva y al ser en formato XML no es nada facil de leer. En la siguiente imagen os dejo la estructura del esquema Bastante complejo verdad?, y...
Publicado por Oskar Alvarez | 5 comment(s)
Archivado en:

Service Throttling

Como mi Ingles no es nada bueno, cuando vi por primera vez este termino en WCF, no tenia ni idea de lo que queria decir, peor fue cuando fui a la Wikipedia y vi lo que queria decir "valvula reguladora", asi que fue peor. Bueno Throttling es una técnica que permite la restricción de clientes de un servicio WCF y nos permite restringir a travès de tres parametros en el fichero de configuración del hosting del servicio. Estos parametros son: Concurrencia máxima de sesiones : numero de sesiones que pueden...
Publicado por Oskar Alvarez | 4 comment(s)
Archivado en:

Comparativa de rendimiento de WCF

Acabo de encontrar una compartiva de Rendimiento entre WCF y las tecnologias anteriores de .NET con respecto a sistemas distribuidos. podeis echarle un vistazo aqui Como resumen " To summarize the results, WCF is 25%-50% faster than ASP.NET Web Services, and approximately 25% faster than .NET Remoting. Comparison with .NET Enterprise Service is load dependant, as in one case WCF is nearly 100% faster but in another scenario it is nearly 25% slower. For WSE 2.0/3.0 implementations, migrating them...
Publicado por Oskar Alvarez | 1 comment(s)
Archivado en:

Publish/Subscribe en WCF

Este post nace a partir de un problema que me comento Rodrigo en el TTT (hay que ver como se pone cuando tiene un problema da miedo!!). No voy a comentar el problema de Rodrigo , sino que voy a explicar como se realiza un sistema Publish/Subscribe en WCF. Lo primero es explicar que en el sistema Publish/Subscribe los cliente se subscriben en el servidor a determinadas operaciones y el servidor les envia mensajes cuando una operación determinada ocuerre en el servidor. Con este sistema estamos evitando...
Publicado por Oskar Alvarez | 5 comment(s)
Archivado en:

Behaivor en WCF

El Behaivor refleja el comportamiento de los servicios en tiempo de ejecución, estos tipos de comportamiento pueden ser la instanciación, concurrencia, Throlling, manejo de errores,Metadata, Tiempo de vida del servicio, Seguridad y transacciones. Todos estos comportamiento pueden ser especificados como parámetros del contrato, en archivos de configuración o mediante la codificación, es decir, como siempre en WCF Si nos fijamos en la instanciación , este comportamiento determina como se instancian...
Publicado por Oskar Alvarez | con no comments
Archivado en:

Servicios WCF y Vista

Intentando instalar un servicio WCF .svc en vista, hice los pasos de crear la aplicación en el IIS, dar permisos...), pero al llamarlo HTTP 500 --- Handler svc-Integrated has a bad module "ManagedPipelineHandler" in its module list El problema era que tenia que configurar la activacion de WCF HTTP, para ello en Activar o desactivar las caracteristicas de Windows, en Microsoft. Net FrameWork 3.0 debemos activar la opción que por defecto viene desactivada
Publicado por Oskar Alvarez | 1 comment(s)
Archivado en:

Instrumentation – Performance Counters en WCF

Despues de dos semanitas de vacaciones, sin hacer nada de nada, ya llegan a su fin y lo primero es, aunque tarde, felicitar el nuevo año a todo el mundo. Las aplicaciones de negocios tienen la necesidad de soportar una cierta cantidad de carga concurrente en un tiempo de respuesta admisible. En algunas oportunidades la performance se ve degradada, es decir, los tiempos de respuesta no son admisibles y es necesario consultar indicadores (Performance Counters) que permiten detectar donde están los...
Publicado por Oskar Alvarez | 2 comment(s)
Archivado en:

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:

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:

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:

WCF Construyendo el primer Servicio

Una vez que hemos definido el contrato lo primero que se nos viene a la cabeza que tenemos que hacer es implementar ese contrato, esto es facil y sencillo, debemos de crear una clase que implemente la interfaz. public class DerivativesCalculatorServiceType : IDerivativesCalculator { #region IDerivativesCalculator Members decimal IDerivativesCalculator .CalculateDerivative( string[] symbols, decimal[] parameters, string[] functions) { return new Calculator ().CalculateDerivative(symbols, parameters...
Publicado por Oskar Alvarez | 2 comment(s)
Archivado en:

WCF El contrato

Despues de intertar explicar que es el ABC en WCF, vamos a meternos en harina. Lo primero que debemos hacer es establecer el contrato, esto es, que metodos va a exponer nuestro servicio. Miguel Jimenez me dio una comparación muy buena. "Imaginate que tu servicio es una tintoreria, el contrato en ese caso seria Limpiar un traje, Planchar... todo lo que nos ofrece la tintoreria es un contrato". Para establecer el contrato en WCF debemos escribir una Interface que es la manera de representar los contratos...
Publicado por Oskar Alvarez | 3 comment(s)
Archivado en:

Comienzo con WCF

Debido al proyecto que estoy desarrollando me toca sumergirme en WCF y creo que es una buena oportunidad para exponer los escasos conocimientos que vaya adquiriendo y exponerlos en el blog. Empezemos pues (esta palabra me sale hasta escribiendo). Seguro que esto lo habeis leido en un monton de sitios, pero considero que es fundamental para el que comienza con WCF. WCF antes denominado Indigo (un nombre mas elegante) es el framework unificado para el desarrollo de sistemas distribuidos, de manera...
Publicado por Oskar Alvarez | 8 comment(s)
Archivado en: