RIA Services: есть ли предел десериализации JSON? - PullRequest
1 голос
/ 31 июля 2009

Я использую RIA Services в одном из моих приложений Silverlight. Я могу вернуть около 500 энтитов (или около 500 кбайт JSON) из моего сервиса, но все, что не сработало на стороне клиента - браузер зависает (IE и Firefox).

Я могу перейти по следующей ссылке и успешно получить JSON:
http://localhost:52878/ClientBin/DataService.axd/AgingReportPortal2-Web-Services-AgingDataService/GetAgingReportItems

... так что мне интересно, что это за сделка.

Есть ли предел тому, сколько можно десериализовать? Если так, есть ли способ увеличить его? Я помню, что у меня была похожая проблема, когда я использовал WCF для этого - мне нужно было установить maxItemsInObjectGraph в web.config на большее число - возможно, мне нужно сделать что-то подобное?

Это код, который я использую для извлечения сущностей:

    // Executes when the user navigates to this page.
    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        AgingDataContext context = new AgingDataContext();

        var query = context.GetAgingReportItemsQuery();

        var loadOperation = context.Load(query);
        loadOperation.Completed += new EventHandler(loadOperation_Completed);

    }

    void loadOperation_Completed(object sender, EventArgs e)
    {
        // I placed a break point here - it was never hit
        var operation = (LoadOperation<AgingReportItem>)sender;
        reportDatagrid.ItemsSource = operation.Entities;
    }

Буду признателен за любую помощь - я потратил часы, пытаясь это выяснить, и не нашел никого с такой же проблемой.

Спасибо
Charles

1 Ответ

0 голосов
/ 20 августа 2009

Может быть, попробуйте добавить / увеличить это, по умолчанию 8192

<readerQuotas maxArrayLength="5000000" /> 
...