2

.pdf または .doc ファイルから抽出された生のテキストを分析する単純な WCF サービスがあります。

アップロードされた文字列の 99% は問題ありませんが、場合によっては、サーバーが Bad Request 例外を発生させます。

リモート サーバーが予期しない応答を返しました: (400) 不正な要求。

問題のあるテキストを調査した結果、問題がフォーム フィード文字 (ascii / unicode #12) に関連していることがわかりました。

簡単な解決策は、文字列をアップロードする前にこれらの文字を削除することですが、私の場合、WCF サービスを使用するすべてのクライアントを制御することはできません。

それで、この特殊文字 (および同じ例外を引き起こす可能性のある他の文字) をアップロードできるサーバー側の代替手段はありますか?

4

1 に答える 1

2

基本バインディングまたは wshttp バインディングを使用している場合、そのような文字列を安全に渡す方法は、クライアント側とサーバー側の両方で base64 エンコーディングを使用することです。あなたの場合、base64文字列にシリアル化されるbyte []を使用することをお勧めします。

残念ながら、私が知っているサーバー側で悪いリクエストを処理する方法はありません。

于 2011-06-30T20:16:13.567 に答える