これは、ローカルの開発およびテスト環境では機能しますが、運用環境では機能しないため、IIS の構成の問題であることは間違いありません。ただし、構成の問題を見つけることができなかったので、この質問です。
これが問題のサービス方法です
[WebInvoke(UriTemplate = "GetSpecificData/{type}/{id}/{categories}", Method = "POST", ResponseFormat = WebMessageFormat.Json)]
[OperationContract]
string GetSpecificData(string id, string type, string categories);
たとえば、次の URL で呼び出しています。
/Services/MapService.svc/GetSpecificData/Office/18.029788,59.332478/0
本番環境では、すぐに http ステータス 400 とサーバーからの「Bad request」が発生します。ローカルおよびテスト環境では問題なく動作します。
問題は ID 部分に関連していると考えられます。事実上他のものに変更すると、違いがどれほど小さくても、うまくいくようです. 下記は用例です
機能しません: 18.029788,59.332478
作品
- 19.029788,59.332478作品
- 28.029788,59.332478作品
- 18.129788,59.332478作品
- 18.029788,59.432478作品
- 18.029788,59.asdfasd332478
- 18.asdf029788,59.332478
機能しません: 16.163657,60.146846
作品
- 16.263657,60.146846
- 16.363657,60.146846
- 16.463657,60.146846
- 16.563657,60.146846
- 16.663657,60.146846
- 16.163657,60.246846
- 16.363657adsfasdfasdfasdf、60.146846asdfasdfasdfa
答えを探して物事を絞り込む中で、これらは私たちが結論付けたいくつかのことです
- HTTP または HTTPS は関係ありません
- 原因となっている ISA または FW はありません
- URL の奇妙な文字 (コンマやドットなど) は問題ではありません
- リクエストの長さは問題ではありません。もっと長くなる可能性があります (260 文字)
お願いします、誰かがこれが何であるかについてのアイデアを持っていることを願っています. それを理解していないのは私を夢中にさせます。どうやらサービスを書き直してクエリパラメータまたはsimliarを取ることで問題を解決する方法があるようですが、私は本当にこの問題の原因を理解したいと思っています