Максимальна квота на розмір повідомлення для вхідних повідомлень (65536) була перевищена. Щоб збільшити квоту, використовуйте властивість MaxReceivedMessageSize на відповідному елементі зв'язування.
При використанні WCF я стикаюся з такими проблемами:
Максимальна квота на розмір повідомлення для вхідних повідомлень (65536) була перевищена. Щоб збільшити квоту, використовуйте властивість MaxReceivedMessageSize на відповідному елементі зв'язування.
Опис проблеми:
Коли клієнт викликає WCF і повертає велику кількість даних, з локальною мережею немає проблем (клієнт знайшов проблему з машиною на місці, точна причина невідома). Є проблема з публікацією в екстранеті.
Інформація про виняток, яку фіксує VS2012 Debug, така: виникла помилка під час передачі даних через HTTP-канал (дані не могли бути прочитані з транспортного з'єднання: з'єднання було закрите). )。
Виняток, який повертає інструмент WCFStorm: Максимальна квота на розмір повідомлення для вхідних повідомлень (65536) була перевищена. Щоб збільшити квоту, використовуйте властивість MaxReceivedMessageSize на відповідному елементі зв'язування.
До помилки і сервер, і клієнт додали такі налаштування:
Додайте наступний код на стороні сервера, щоб розв'язати проблему:
Сподіваюся, це допоможе вам, хто стикається з такою ж проблемою.
Інші рішення:
Після прочитання допису @sunny007sun http://bbs.csdn.net/topics/360255080 року було знайдено рішення http://www.cnblogs.com/happyhippy/archive/2011/07/02/2096482.html його запису (блог). web.config, автоматично згенерований Silverlight, не містить конфігураційної інформації для сервісів і має бути доданий сюди <services> <service behaviorConfiguration="MyBehaviour" name="WcfService1.Service1"> <адреса кінцевої точки="" binding="basicHttpBinding" bindingConfiguration="NewBinding0" contract="WcfService1.IService1" /> <адреса кінцевої точки="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> </services> Насправді існує різниця між service.name та endpoint.contract, контракт — це протокол, що відповідає ServiceContract у рамках проєкту WCF, тобто інтерфейсу IService1, а service відповідає конкретному виклику svc, тобто Service1.
Поки що проблему вирішено, дякую @sunny007sun за 11 років публікацій і блогінгу.
|