Obtendo "A solicitação JSON era muito grande para ser desserializada"

Estou recebendo este erro:

A solicitação JSON era muito grande para ser desserializada.

Aqui está um cenário onde isso ocorre. Eu tenho uma classe de país que possui uma lista de portos de embarque daquele país

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

Eu uso KnockoutJS no lado do cliente para fazer uma queda em cascata. Portanto, temos uma matriz de duas listas suspensas, em que a primeira é o país e a segunda são os portos desse país.

Tudo está funcionando bem até agora, esse script do meu 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, que temgrande quantidade dos portos. Então, se você tem 3 ou 4 vezes "China" em sua matriz e eu quero enviá-lo para o servidor para salvar. O erro ocorre.

O que devo fazer para remediar isso?

questionAnswers(1)

yourAnswerToTheQuestion