WCF サービスに basicHttpBinding を使用しており、特定の状況下で応答コードをリダイレクトに設定するメッセージ インスペクターがあります。(svcutil によって生成された) WCF プロキシが自動的にリダイレクトをたどろうとすることがわかりました。これを防ぐにはどうすればよいですか?
ありがとう、プリヤ
WCF サービスに basicHttpBinding を使用しており、特定の状況下で応答コードをリダイレクトに設定するメッセージ インスペクターがあります。(svcutil によって生成された) WCF プロキシが自動的にリダイレクトをたどろうとすることがわかりました。これを防ぐにはどうすればよいですか?
ありがとう、プリヤ
クライアントアプリケーションからサービスコントラクトアセンブリを参照できますか?その場合、生成されたサービス参照を取り除き、ChannelFactoryを使用して実行時にプロキシを起動するだけです。
例えば:
// Create service proxy on the fly
var factory = new ChannelFactory<IMyServiceContract>("NameOfMyClientEndpointInConfigFile");
var proxy = factory.CreateChannel();
// Create data contract
var requestDataContract = new MyRequestType();
// Call service operation.
MyResponseType responseDataContract = proxy.MyServiceOperation(requestDataContract);
上記の例でIMyServiceContract
は、はサービスコントラクトでありMyRequestType
、 MyResponseType
はデータコントラクトであり、サービスも参照する(これらのタイプを定義する)アセンブリを参照することで使用できます。
リダイレクトで何を達成しようとしましたか? クライアント側でいくつかのメッセージ インターセプターを使用してこのケースを処理します: http://msdn.microsoft.com/en-us/library/ms733786(v=vs.90).aspx