Rimozione delle API WCF con un configurationName
parametro
Le API WCF che accettano un configurationName
parametro o un endpointConfigurationName
parametro sono state rimosse in WCF 8. Queste API sono state usate in precedenza in .NET Framework per caricare i parametri di configurazione client, ad esempio la Binding
configurazione e i EndpointAddress
dettagli.
Versione introdotta
WCF Client 8.0 GA
Comportamento precedente
Le API rimosse sono state eliminate in precedenza dai suggerimenti di IntelliSense, ma i progetti che li hanno usati sono stati compilati correttamente. L'uso di una delle API rimosse ha generato un'operazione PlatformNotSupportedException in fase di esecuzione.
Nuovo comportamento
Le API interessate non esistono più. Se si esegue l'aggiornamento a WCF 8 e si ricompila il progetto, l'operazione avrà esito negativo.
Tipo di modifica che causa un'interruzione
Questa modifica può influire sulla compatibilità dell'origine.
Motivo della modifica
Le API interessate non sono mai state implementate in .NET e tutte le chiamate a queste API hanno generato in precedenza un'eccezione in fase di esecuzione. Così la decisione è stata presa di rimuoverle completamente.
Azione consigliata
Rimuovere qualsiasi utilizzo delle API interessate.
Se si usa un client WCF generato dall'utilità svcutil
da .NET Framework SDK, il client generato avrà costruttori che chiamano costruttori di classi di base che sono stati rimossi. La classe base sarà ClientBase<TChannel> o DuplexClientBase<TChannel>. I costruttori generati non erano utilizzabili in .NET perché generavano un'eccezione PlatformNotSupportedException
.
- Se si usa .NET Framework e .NET framework con più destinazioni e si usano ancora questi costruttori generati in .NET Framework, sarà necessario compilarne in modo condizionale l'utilizzo.
- Se non si usano questi costruttori, è possibile eliminarli dal codice generato. In alternativa, valutare la possibilità di rigenerare il client usando
dotnet-svcutil
.
API interessate
- NetHttpBinding(String)
- NetTcpBinding(String)
- System.ServiceModel.ChannelFactory.ApplyConfiguration(String)
- System.ServiceModel.ChannelFactory.InitializeEndpoint(String, EndpointAddress)
- ChannelFactory<TChannel>(String)
- ChannelFactory<TChannel>(String, EndpointAddress)
- DuplexChannelFactory<TChannel>(InstanceContext, String)
- DuplexChannelFactory<TChannel>(InstanceContext, String, EndpointAddress)
- DuplexClientBase<TChannel>(InstanceContext, String)
- DuplexClientBase<TChannel>(InstanceContext, String, EndpointAddress)
- DuplexClientBase<TChannel>(InstanceContext, String, String)