現象
WebAPIサービスで以下のようなエラーが表示されました。
HTTP Get処理にて?文字(%3F)をURLに含めて送信した事からです。
Request URLの例
http://localhost:61902/api/Translate/en/ja/What%20is%20the%20schedule%20for%20tomorrow%3F
解決方法
2018/7/20 現在、以下の解決法でうまくいきました。
Web.configファイル中の<httpRuntime />
に requestPathInvalidCharacters=""
を追加
<system.web>
<httpRuntime requestPathInvalidCharacters="" requestValidationMode="2.0" />
...
</system.web>
参考
WebMatrix 3:危険な可能性のある Request.Path 値がクライアント (:) から検出されました。 - だるろぐ
.NET Framework4 / ASP.NET4を導入 | 水無月ばけらのえび日記
ASP.NET 4 URL limitations: why URL cannot contain any %3f characters - Stack Overflow