configurationName
パラメーターを使用した WCF API の削除
configurationName
パラメーターまたは endpointConfigurationName
パラメーターを受け取る WCF API は、WCF 8 で削除されました。 これらの API は、 Binding
構成や EndpointAddress
の詳細などのクライアント構成パラメーターを読み込む場合に、.NET Framework で以前に使用されていました。
導入されたバージョン
WCF クライアント 8.0 GA
以前の動作
削除された API は、以前は IntelliSense の提案から抑制されていましたが、それらを使用するプロジェクトは正常にコンパイルされました。 削除された API のいずれかを使用すると、実行時に PlatformNotSupportedException が発生しました。
新しい動作
影響を受けた APIは存在しなくなりました。 WCF 8 にアップグレードしてプロジェクトを再コンパイルすると、失敗します。
破壊的変更の種類
この変更はソースの互換性に影響を与える可能性があります。
変更理由
影響を受けた APIは .NET に実装されておらず、これらの API を呼び出しても、以前は実行時例外が発生していました。 したがって、それらを完全に削除することを決定しました。
推奨される操作
.NET Framework SDK から svcutil
ユーティリティによって生成された WCF クライアントを使用している場合、生成されたクライアントには、削除された基底クラスのコンストラクターを呼び出すコンストラクターがあります。 基底クラスは、 ClientBase<TChannel> または DuplexClientBase<TChannel>になります。 生成されたコンストラクターは、 PlatformNotSupportedException
がスローされる結果になったため、.NET では使用できませんでした。
- .NET Framework と .NET を複数ターゲットにしていて、.NET Framework でこれらの生成されたコンストラクターを引き続き使用している場合は、条件付きでそれらの使用をコンパイルする必要があります。
- これらのコンストラクターを使用していない場合は、生成されたコードから削除できます。 または、
dotnet-svcutil
を使用してクライアントを再生成することを検討してください。
影響を受ける API
- 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)
.NET