Estou recebendo este erro:
A solicitação JSON era muito grande para ser desserializada.
Aqui está um cenário em que isso ocorre. Eu tenho uma classe de país que possui uma lista de portos desse país
public class Country
{
public int Id { get; set; }
public string Name { get; set; }
public List<Port> Ports { get; set; }
}
Eu uso o KnockoutJS no lado do cliente para criar uma lista suspensa em cascata. Portanto, temos uma série de duas caixas suspensas, onde a primeira é o país e a segunda são os portos desse país.
Tudo está funcionando bem até agora, este é o meu script do lado do cliente:
var k1 = k1 || {};
$(document).ready(function () {
k1.MarketInfoItem = function (removeable) {
var self = this;
self.CountryOfLoadingId = ko.observable();
self.PortOfLoadingId = ko.observable();
self.CountryOfDestinationId = ko.observable();
self.PortOfDestinationId = ko.observable();
};
k1.viewModel = function () {
var marketInfoItems = ko.observableArray([]),
countries = ko.observableArray([]),
saveMarketInfo = function () {
var jsonData = ko.toJSON(marketInfoItems);
$.ajax({
url: 'SaveMarketInfos',
type: "POST",
data: jsonData,
datatype: "json",
contentType: "application/json charset=utf-8",
success: function (data) {
if (data) {
window.location.href = "Fin";
} else {
alert("Can not save your market information now!");
}
},
error: function (data) { alert("Can not save your contacts now!"); }
});
},
loadData = function () {
$.getJSON('../api/ListService/GetCountriesWithPorts', function (data) {
countries(data);
});
};
return {
MarketInfoItems: marketInfoItems,
Countries: countries,
LoadData: loadData,
SaveMarketInfo: saveMarketInfo,
};
} ();
O problema ocorre quando um país como a China é selecionado, com muitos portos. Então, se você tem 3 ou 4 vezes "China" em sua matriz e eu quero enviá-lo ao servidor para salvar. O erro ocorre.
O que devo fazer para remediar isso?