他のバインディングの中でも、JSON の入力/結果に WebHttpBinding を使用する WCF サービスがあります。
何か問題が発生したときに StatusCode を 400 に設定し、JSON のわかりやすいメッセージを返すことができるように、カスタム IErrorHandler 実装を作成しました。これは、どこにでもあるストレートな実装です (こちらで説明されている良い方法です)。
私の問題は、Visual Studio Web Development Server (Cassini) を使用してローカルでテストすると、完全に動作することです。ただし、テスト サーバー (IIS およびその他すべての標準構成を備えた Windows 2008) に展開すると、機能しません。
それを呼び出して Firebug でデバッグすると、リターンとして HttpStatusCode 200 が返され、応答テキストは返されません。Fiddler を使用すると、HttpStatusCode 504 が返され、まったく返されません。ただし、私が予想した動作 (およびローカルで発生する動作) は、responseText が設定された ajax 呼び出しのエラー コールバックへの呼び出しです。
リモートでデバッグしましたが、すべて問題ないようです。実行パイプラインに問題はなく、すべてのクラスがローカルと同じように呼び出されますが、機能しません。
助言がありますか?これを理解するためのオプションはほとんどありません。
どうもありがとう!