Suppression des API WCF avec un configurationName
paramètre
Les API WCF qui acceptent un configurationName
paramètre ou un endpointConfigurationName
paramètre ont été supprimées dans WCF 8. Ces API ont été précédemment utilisées dans .NET Framework pour charger des paramètres de configuration du client, tels que la Binding
configuration et les EndpointAddress
détails.
Version introduite
WCF Client 8.0 GA
Comportement précédent
Les API supprimées ont été précédemment supprimées des suggestions IntelliSense. Toutefois, les projets qui les utilisaient ont été compilés avec succès. L’utilisation de l’une des API supprimées a entraîné une PlatformNotSupportedException exécution.
Nouveau comportement
Les API affectées n’existent plus. Si vous effectuez une mise à niveau vers WCF 8 et recompilez votre projet, il échoue.
Type de changement cassant
Ce changement peut affecter la compatibilité source.
Raison du changement
Les API affectées n’ont jamais été implémentées sur .NET, et tous les appels à ces API ont précédemment entraîné une exception d’exécution. Ainsi, la décision a été prise de les supprimer complètement.
Action recommandée
Supprimez toute utilisation des API affectées.
Si vous utilisez un client WCF généré par l’utilitaire svcutil
à partir du Kit de développement logiciel (SDK) .NET Framework, le client généré aura des constructeurs qui appellent des constructeurs de classe de base qui ont été supprimés. La classe de base sera soit ClientBase<TChannel> .DuplexClientBase<TChannel> Les constructeurs générés étaient inutilisables sur .NET, car ils ont entraîné une PlatformNotSupportedException
levée.
- Si vous ciblez .NET Framework et .NET et que vous utilisez toujours ces constructeurs générés sur .NET Framework, vous devez compiler leur utilisation de manière conditionnelle.
- Si vous n’utilisez pas ces constructeurs, vous pouvez les supprimer du code généré. Vous pouvez également régénérer le client à l’aide
dotnet-svcutil
de .
API affectées
- 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)