Поведение Silverlight maxItemsInObjectGraph - PullRequest
0 голосов
/ 27 января 2011

В настоящее время у меня есть приложение silverlight, в котором есть библиотека классов silverlight.Библиотека классов silverlight имеет ссылку на службу WCF, которая работает, как ожидается, для небольших данных.

Однако мы столкнулись с проблемой, которая вызвана значением по умолчанию maxItemsInObjectGraph.Мы протестировали его с увеличенным значением (вызывается из приложения vb, установленного в поведении), и оно работает, однако мы не уверены, как установить значение maxItemsInObjectGraph, когда оно находится в библиотеке классов silverlight (так как оно определено только в файле clientconfig ик клиенту не добавляются никакие услуги).

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

Есть идеи?

Приветствия

1 Ответ

0 голосов
/ 27 января 2011

Вы можете установить maxItemsInObjectGraph автоматически:

ChannelFactory<IMyService> factory = new ChannelFactory<IMyService>(binding, endpoint);
foreach (var operation in channelFactory.Endpoint.Contract.Operations)
{
    var behavior = operation.Behaviors.Find() as DataContractSerializerOperationBehavior;
    if ( behavior != null )
    {
        behavior.MaxItemsInObjectGraph = 2147483647;    
    }
}
...