Acabo de escribir una nueva versión de un servicio web de WCF y quiero asegurarme de no haber hecho ningún cambio en los contratos de Servicio y Datos.WCF Service Backwards Compatibility Check
Recordando mis días como desarrollador de Combi VB6, recuerdo lo fácil que fue especificar la versión de lanzamiento anterior del componente en tiempo de compilación, y hacer que el compilador verifique que se mantenga la compatibilidad binaria.
Me imagino algo similar llamado (con suerte) una verificación de "Compatibilidad de contrato". Utilizaría los metadatos para realizar una comprobación similar a la que hizo el env de VB6. Esto podría hacerse como un paso de compilación separado que ejecutaría una utilidad.
Estoy dispuesto a aceptar que no existe tal utilidad. Si ese es el caso, ¿alguien tiene alguna idea sobre cómo se vería el algoritmo para lograr esto?
- recuperar los metadatos de la versión actual de servicio en vivo
- recuperar los metadatos de una nueva versión del servicio
- Contrato de servicio de controlar y cada Contrato de datos para la compatibilidad. Solo informando cambios de última hora.
Paso 3 parece como que sería complejo, pero sin duda automatizable ...
Si hay problemas de compatibilidad, puede usar el espacio de nombres del contrato de servicio para el control de versiones, y mantener ambas versiones disponibles hasta que esté seguro de que la anterior ya no se usa. –