Für jeden RIA-Services-Gurus weiß jemand, wie man die Datenpuffer-Obergrenze von RIA-Services-Abfragedaten, die zum Silverlight-Client zurückkommen, erhöhen kann.Wie kann die Datenpuffergröße von RIA Services-Abfragen erhöht werden?
Ich habe eine RIA-Services-Abfrage, wo es eine übergeordnete Entität zurückgibt, zusammen mit einigen untergeordneten Entitätssammlungen, die als Teil der Datenantwort zurückkommen. Der Code für die Suche nach meiner RIA Service beginnt wie folgt aus:
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;
Ich habe durch Tests bestätigt, dass die [Query (RESULT = 150)] Dekorateur wird die gesamte RIA Services Abfrage, SearchContacts() verursacht, zum Scheitern verurteilt und throw und Ausnahme, wenn Sie 150 bis 500 erhöhen. Ich vermute, dass ich eine allgemeine Datenbeschränkung von RIA-Diensten treffe.
Ich googelte ein wenig für dieses Problem und es sieht so aus, als könnten Sie die Datenpuffergröße eines WCF Web Service (beachten Sie WCF Service, nicht RIA Service), durch Bearbeiten der Web-Konfigurationseinstellungen, aber nicht sicher, ob dies würde auch in einer RIA-Services-Abfrage arbeiten.
Wenn jemand auf das gleiche Problem gestoßen ist und eine Lösung gefunden hat, antworten Sie bitte.
Vielen Dank im Voraus, John
Gene, danke für den Link ... dass der Trick! Es erscheint ein wenig merkwürdig, dass Microsoft nicht genau ankündigt, wie man das erreicht ... es wäre schön gewesen, wenn sie zumindest einen web.config-Kommentar mit einem Beispiel hinzugefügt hätten, das zeigt, wie man die Puffergröße erhöht. –