Для любого гуру служб RIA, кто-нибудь знает, как увеличить максимальный размер буфера данных для данных запроса служб RIA, возвращающихся клиенту Silverlight?
У меня есть запрос служб RIA, в котором он возвращает родительский объект вместе с довольно большим количеством дочерних коллекций объектов, возвращающихся как часть ответа с данными. Код моего запроса RIA Services начинается так:
1: [EnableClientAccess()] 2: public class ContactsDomainService : LinqToEntitiesDomainService 3: { 4: [Query(ResultLimit = 150)] 5: public IQueryable SearchContacts(string jobFunction = default(string), 6: string workPhone = default(string), 7: string officeLocation = default(string), 8: string firstName = default(string), 9: string lastName = default(string), 10: string address1 = default(string), 11: string address2 = default(string), 12: string city = default(string), 13: int stateTypeId = 0, 14: string zip = default(string), 15: string email = default(string), 16: Nullable departmentTypeId = null, 17: Nullable sectionTypeId = null, 18: Nullable divisionTypeId = null, 19: Nullable governmentTypeId = null) 20: { 21: var results = from r in this.ObjectContext.Contacts 22: .Include("ContactAddresses") 23: .Include("ContactAddresses.CityType") 24: .Include("ContactAddresses.StateType") 25: .Include("ContactDepartments") 26: .Include("ContactDepartments.DepartmentType") 27: .Include("ContactDivisions") 28: .Include("ContactDivisions.DivisionType") 29: .Include("ContactEmails") 30: .Include("ContactGovernments") 31: .Include("ContactGovernments.GovernmentType") 32: .Include("ContactJobFunctions") 33: .Include("ContactJobFunctions.JobFunctionType") 34: .Include("ContactOffices") 35: .Include("ContactPhones") 36: .Include("ContactPhones.PhoneType") 37: .Include("ContactSections") 38: .Include("ContactSections.SectionType") 39: select r;
В ходе тестирования я подтвердил, что декоратор [Query (ResultLimit = 150)] вызовет сбой всего запроса RIA Services, SearchContacts (), и выдаст исключение, если вы увеличите 150 до 500. Я предполагаю, что я попал в общий ограничение данных RIA Services.
Я немного погуглил для этой проблемы, и похоже, что вы можете увеличить размер буфера данных веб-службы WCF (обратите внимание на службу WCF, а не на службу RIA), отредактировав параметры веб-конфигурации, но не уверен, что это также будет работать в Запрос служб RIA.
Если кто-то сталкивался с той же проблемой и нашел решение, ответьте.
заранее спасибо, Джон