C'è un modo per modificare lo spazio dei nomi .NET di un'interfaccia ServiceContract di WCF e tuttavia rendere il servizio WCF retrocompatibile con i client che utilizzano il ServiceContract vecchio (identico tranne per lo spazio dei nomi)? Ad esempio, supponiamo di avere (in vb.net):Posso cambiare lo spazio dei nomi dell'interfaccia ServiceContract di WCF senza cambiare il servizio?
Namespace MyCompany.MyPoorlyNamedProject
<ServiceContract(Name:="ThingService")> _
<CLSCompliant(True)> _
Public Interface IThingService
...
End Interface
EndNamespace
E voglio cambiare la situazione a
Namespace MyCompany.MyProject
<ServiceContract(Name:="ThingService")> _
<CLSCompliant(True)> _
Public Interface IThingService
...
End Interface
End Namespace
Senza cambiare il servizio a tutti.
Ho provato a farlo, ma i miei xsds a cui si fa riferimento da wsdl mostrano il nuovo nome dello spazio dei nomi, che sembra essere un'incompatibilità.
Qualche idea?
+1 per una risposta completa – vlad
Non sto utilizzando "Aggiungi riferimento servizio" - ha dato risultati inaspettati - vedi http://stackoverflow.com/questions/1294269/getting-bad-generated-code-from-update-service-reference. Forse funzionerà comunque? Ci proverò presto. –
@Patrick Szalapski: beh, in questo caso, probabilmente stai condividendo l'assemblaggio dei contratti tra il servizio e il cliente, giusto ?? In tal caso, ** ovviamente **, la modifica degli spazi dei nomi sul contratto di servizio ** influirà ** sul client, senza alcun senso. –