Obtener " La solicitud JSON era demasiado grande para ser deserializada"


Estoy recibiendo este Error:

La solicitud JSON era demasiado grande para ser deserializada.

Aquí hay un escenario donde esto ocurre. Tengo una clase de país que posee una lista de puertos marítimos de ese país

public class Country
{
    public int Id { get; set; }
    public string Name { get; set; }
    public List<Port> Ports { get; set; }
}

Uso KnockoutJS en el lado del cliente para hacer desplegables en cascada. Así que tenemos una matriz de dos desplegables, donde el primero es país, y el segundo es puertos de ese país.

Todo está funcionando bien hasta ahora, este es mi cliente script lateral:

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,
        };
    } (); 

El problema ocurre cuando se selecciona un país como China, que tiene lotes de puertos. Así que si usted tiene 3 o 4 veces "China" en su matriz y quiero enviarlo al servidor para guardar. Se produce el error.

¿Qué debo hacer para remediar esto?


Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52