2016-08-08 51 views
0

好吧,這是一個奇怪的。Web Api 2對象大小

爲了測試這個問題,我有一個這樣的端點:

[HttpPut] 
    public string Put(object value) 
    { 
     return value != null ? "ok" : "fail"; 
    } 

當直接將其擲數據值對象八方通成爲JSON我扔在(預期)。然而,我正在開發的應用程序要求我通過一個網關,通過驗證某些標頭等來增加呼叫的安全性。

當通過轉發給直到呼叫的身體碰到了一定規模我的終點一切也似乎確定網關會(apperantly 471個字符是確定的472是不是),則值對象是(以及因此該方法返回'失敗')。

所有這一切讓我相信,GW在一定的大小截斷身體,因此使其無效JSON和值對象變爲null。但是在與網關供應商交談之後,他們告訴我他們已經對其進行了測試,這不是問題。

這裏來真是個奇怪的一部分

在我進一步追求我添加了一個的BeginRequest聽衆像這樣的問題:

context.BeginRequest += Application_BeginRequest; 

我只加一行到攔截器調試的目的(以查看身體是否被截斷):

HttpContext.Current.Request.SaveAs("c:\\test.txt", true); 

添加此行後,所有工作都像ac傷害,所有的呼叫都通過(不管大小),價值永遠不會null。我試圖再次刪除該行,並且我們又回到了原始問題,它在一定的尺寸下失敗。

這到底是怎麼回事

我真的需要這裏一些建議如何進行調試這個問題。

回答

0

原來是第三方GW的一個問題。現在正試圖解決這個問題。