Obteniendo "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 tiene una lista de puertos de envío 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 un desplegable en cascada. Así que tenemos una serie de dos menús desplegables, donde el primero es el país y el segundo son los puertos de ese país.

Todo está funcionando bien hasta ahora, este es mi script del lado del 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,
        };
    } (); 

El problema ocurre cuando se selecciona un país como China, que tieneun montón de puertos. Entonces, si tiene 3 o 4 veces "China" en su matriz y quiero enviarlo al servidor para guardarlo. Se produce el error.

¿Qué debo hacer para remediar esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta