Uzyskiwanie „Żądanie JSON było zbyt duże, aby je deserializować”

Dostaję ten błąd:

Żądanie JSON było zbyt duże, aby można je było rozszeregować.

Oto scenariusz, w którym to nastąpi. Mam klasę kraju, w której znajduje się lista portów żeglugowych tego kraju

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

Używam KnockoutJS po stronie klienta, aby utworzyć kaskadowe listy rozwijane. Mamy więc zestaw dwóch list rozwijanych, z których pierwszy to kraj, a drugi to porty tego kraju.

Jak dotąd wszystko działa dobrze, to mój skrypt po stronie klienta:

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

Problem pojawia się, gdy wybrany jest kraj taki jak Chinywiele portów. Więc jeśli masz 3 lub 4 razy „Chiny” w swojej tablicy i chcę wysłać ją do serwera, aby zapisać. Wystąpił błąd.

Co mam zrobić, aby temu zaradzić?

questionAnswers(1)

yourAnswerToTheQuestion