WCF-API's verwijderen met een configurationName
parameter
De WCF-API's die een configurationName
parameter of parameter endpointConfigurationName
accepteren, zijn verwijderd in WCF 8. Deze API's werden eerder gebruikt in .NET Framework om clientconfiguratieparameters te laden, zoals de Binding
configuratie en de EndpointAddress
details.
Versie geïntroduceerd
WCF-client 8.0 GA
Vorig gedrag
De verwijderde API's werden eerder onderdrukt uit IntelliSense-suggesties, maar projecten die ze hebben gecompileerd. Het gebruik van een van de verwijderde API's heeft geresulteerd in een PlatformNotSupportedException runtime.
Nieuw gedrag
De betrokken API's bestaan niet meer. Als u een upgrade uitvoert naar WCF 8 en uw project opnieuw compileert, mislukt dit.
Type wijziging die fouten veroorzaken
Deze wijziging kan van invloed zijn op de broncompatibiliteit.
Reden voor wijziging
De betrokken API's zijn nooit geïmplementeerd op .NET en alle aanroepen naar deze API's hebben eerder geresulteerd in een runtime-uitzondering. Daarom werd de beslissing genomen om ze volledig te verwijderen.
Aanbevolen actie
Verwijder het gebruik van de betreffende API's.
Als u een WCF-client gebruikt die is gegenereerd door het svcutil
hulpprogramma van de .NET Framework SDK, bevat de gegenereerde client constructors die basisklasseconstructors aanroepen die zijn verwijderd. De basisklasse is ofwel ClientBase<TChannel> DuplexClientBase<TChannel>. De gegenereerde constructors waren onbruikbaar op .NET omdat ze hebben geresulteerd in een PlatformNotSupportedException
gegenereerde fout.
- Als u voor meerdere doelgroepen .NET Framework en .NET nog steeds deze gegenereerde constructors op .NET Framework gebruikt, moet u het gebruik voorwaardelijk compileren.
- Als u deze constructors niet gebruikt, kunt u deze verwijderen uit de gegenereerde code. U kunt ook overwegen om de client opnieuw te genereren met behulp van
dotnet-svcutil
.
Betrokken API's
- 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)