ここでは奇妙なものがあります。 Web Api 2オブジェクトサイズ
は、この問題をテストするために私はこのようなエンドポイントを持っている:[HttpPut]
public string Put(object value)
{
return value != null ? "ok" : "fail";
}
値オブジェクトは、オールウェイズ(予想通り)私はそれで投げるJSONなっ直接にデータを投げます。しかし、私が開発しているアプリでは、ヘッダーなどを確認してセキュリティを強化するゲートウェイを経由する必要があります。
(apperantly 471文字が472ではないokです)コールのボディが一定のサイズに到達するまでもOKらしい私のエンドポイントすべてに転送するゲートウェイを経由する場合は、値オブジェクトがヌル(そのためでありますこのメソッドは「失敗」を返します)。
これは、GWが特定のサイズでボディを切り捨てるため、JSONが無効になり、値オブジェクトがnullになると私は思っていました。しかし、ゲートウェイのプロバイダに話をした後、彼らはそれをテストしたが、これは問題ではないと私に言った。ここで
は本当に奇妙な部分は、私はこのようなBeginRequestイベントリスナーを追加し、問題の私の更なる追求
来る:
context.BeginRequest += Application_BeginRequest;
私はデバッグの目的のためにインターセプタに一つだけの行を追加しました(本文が切り捨てられているかどうかを確認してください)。
HttpContext.Current.Request.SaveAs("c:\\test.txt", true);
この行を追加すると、すべてがacすべてのコールが(サイズに関係なく)取得され、値は決してnullです。私は再び線を取り除こうとしましたが、元の問題に戻り、一定のサイズで失敗しました。
に起こっている地球上で
私は本当にこの問題をデバッグ進め方にここにいくつかのアドバイスを必要としています。