Bug descubierto en ADO.NET Data Services (a.k.a. WCF Data Services)

En el proyecto en el que actualmente trabajo estamos utilizando ADO.NET Data Services desde su primera versión y, debido al exhaustivo uso que estoy haciendo de esta tecnología, descubrí algun comportamiento errático que pasé a reportar al Equipo de producto, concretamente a Peter Qian, en una solución de Visual Studio que reproducía el comportamiento. Y, en efecto, una de las consultas a un Service Operation que devuelve tipos primitivos o colección de tipos primitivos provocaba una excepción cuando debía de funcionar perfectamente.

 

Al parecer, no se pueden dar más detalles del bug porque aun no han decidido cómo solucionarlo. Es agradable ver lo cercano que son los miembros de los equipos de producto y lo receptivos que están ante el feedback que se les provee 🙂

 

Thanks Peter 🙂

Publicado por

Vicente García Diez

Mi nombre es Vicente García Diez y soy arquitecto empresarial, experto en tecnologías Microsoft y transformaciones digitales complejas. Soy socio director y Trusted Advisor en abstratio En mi blog trataré temas de Estrategia IT y lecciones aprendidas en mis proyectos.

3 comentarios sobre “Bug descubierto en ADO.NET Data Services (a.k.a. WCF Data Services)”

  1. Hola preguntón, el problema reside cuando intentas consumir un Service Operation con parámetros que devuelve un tipo primitivo. Por ejemplo, si la firma del Service operation es «public int Add(int a, int b)» e intentas consumirlo de esta manera:

    int result = context.CreateQuery<int>(«Add»).AddQueryOption(«a», 3).AddQueryOption(«b», 4).First();

    te dará una excepción.

    El workaround que yo he utilizado es el siguiente:

    int result3 = context.Execute<int>(new Uri(«Add?a=3&b=4», UriKind.Relative)).First();

    Lo que hace es especificar de manera explícita la uri que tiene que ser consumida en vez de que sea generada por la libreria de cliente de Microsoft.Data.Services.Client

    Espero que te sirva de ayuda y que no tengas que utilizarlo demasiado 😛

    Un saludo y gracias por comentar 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *