我有一個接受JSON數據的ASP.NET Web API服務。它適用於我們所有的JSON數據類型,除了一個之外。用戶可以從移動設備發送檢測結果。檢查結果由JSON作爲ASP.NET Web API服務接收。JSON在從網頁傳遞到ASP.NET Web API服務時被截斷
我有用C#編寫的單元測試,能夠發送檢查JSON數據,沒有問題。但是每當我從網頁發送數據時,發送的JSON數據似乎都會被截斷。
這是發送的內容。
{"Formname":"inspection","Formdata":{"UserId":1011357,"InspectionId":40013,"VehicleReg":"AA123ABC","Results":[{"QuestionId":100053,"OptionId":30192,"OptionResponse":"fantastic"}]},"Profile":{"EmailAddress":"[email protected]","OscarId":"1011369"}};
這就是收到的。
{"Formname":"inspection","Formdata":{"UserId":1011357,"InspectionId":40013,"VehicleReg":"AA123ABC","Results":[{"QuestionId":100053,"OptionId":30192,"OptionResponse":"fantastic"
它在254
的長度越來越截斷下面是創建請求的AJAX。
var url = "http://mywebservice/api/routingtasks?formname=inspection";
$.ajax({
type: "POST",
url: url,
contentType: "application/json",
headers: { "Authorization" : "TESTUSER " + signedToken},
data: JSON.stringify(formdata),
success: function(data){
alert("Task successfully processed.");
},
error: function(error){
alert("error: " + JSON.stringify(error));
}
})
接收JSON數據的Web API控制器的簽名是這樣的。
public HttpResponseMessage RoutePostData(string formname, [FromBody] JToken postdata)
我的C#單元測試都能夠發送相同的JSON數據沒有問題,但是從網頁發送JSON數據是造成問題。
由於254不是隨機數(字節),截斷長度可能會提示答案。在應用程序的設置中可能會限制發送緩衝區大小嗎? – JuanR
當我看到數字254時,這也是我的想法。它看起來如此,但我不知道什麼設置會影響JSON的大小。 – DomBurf