Best practice per il controllo delle versioni dei servizi Web WCF

3

Ho un SOAP di servizi Web sviluppato con WCF, esiste una best practice per il versioning di esso? quando cambio il contratto non voglio aggiornare tutti i riferimenti del cliente ma voglio semplicemente pubblicare una nuova versione che convive con il vecchio.

STUDIO-CASE: Ho un servizio web con un endpoint, tutti i client lo indicano, presto dovrò cambiare il contratto e cercherò un modo per evitare che tutti i client si blocchino. Conosco due modi per evitarlo:

  • pubblica il servizio web con il nuovo contratto in un altro server
  • crea un nuovo file svc con il nuovo contratto

ci sono altri modi?

    
posta Guerra 09.10.2014 - 16:21
fonte

1 risposta

2

Dipende da molte cose come le modifiche che intendi apportare, la piattaforma su cui sono basati i tuoi clienti, la tua politica di tracciabilità delle modifiche, ecc.

Ad esempio, se si desidera aggiungere una nuova proprietà a un contratto dati o una nuova operazione a un contratto di servizio è sicuro aggiungerla all'implementazione corrente purché i client siano tolleranti per la versione (DataContractSerializer è tollerante per la versione) e è conforme alla tua politica di tracciamento delle modifiche. Tuttavia, è preferibile attenersi a una rigorosa strategia di controllo delle versioni che richiede la creazione di un nuovo contratto e l'esposizione di un nuovo endpoint nel caso in cui le modifiche siano più gravi.

Ho suggerito di leggere questi articoli:

Strategie di versioning
Best practice: controllo dei dati dei dati

Questo dovrebbe aiutarti a scegliere la giusta strategia di versione e a fornire le migliori pratiche da seguire.

    
risposta data 12.10.2014 - 00:14
fonte

Leggi altre domande sui tag