Как увеличить квоту читателя на сервисе WCF?
Я не ожидаю, что кто-нибудь сможет помочь с этим, но давайте попробуем.
У меня есть приложение WinForms, которое использует службу WCF для вывода довольно большого JSON-документа, сериализованного в строку. Я изменил клиентскую квоту Reader для строк на 8192000 (произвольно, но подходит для большинства случаев) и перевел службу на пользовательскую привязку с явной квотой чтения 8192000
при проверке служебной ссылки в Блокноте на глаз квота в файлах.svcinfo установлена на 8192, хотя это может быть красная сельдь.
Я нахожусь в конце своей привязи, я следовал всем советам, которые я могу найти в Google:
- http://www.haveyougotwoods.com/archive/2008/03/29/wcf-and-large-messages.aspx
- http://msdn.microsoft.com/en-us/magazine/cc163394.aspx
назвать только два и все предложенные ответы, которые я мог найти здесь, т.е.
- Служба WCF Превышена квота максимальной длины массива (16384)
- Максимальный размер сообщения WCF
- Максимальная квота длины массива
и я посмотрел на это:
http://wildermuth.com/2009/09/10/Using_Large_Message_Requests_in_Silverlight_with_WCF
который был ответом на одно из вышеупомянутых или на одно из многих других вещей, на которые я смотрел, которые я не нашел в своем списке "Недавно закрытые вкладки".
По сути, я не могу придумать, что еще можно сделать, чтобы увеличить этот лимит, и все же он настаивает на том, чтобы сначала натолкнуться на строку длиной более 64 КБ, чтобы пределы не были изменены вообще.
Так может кто-нибудь просто дать мне действительно простой шаг за шагом, чтобы изменить этот параметр для сериализации приложения WinForms, а затем десериализовать данные JSON в виде строки на любом конце транзакции? Многие другие советы касались Silverlight или какого-либо другого сценария, и по какой-то причине он просто не может повлиять на этот случай.
1 ответ
Я попробовал решение, как показано в последней статье, на которую я снова ссылался, просто чтобы просмотреть мою предыдущую работу. На этот раз вместо того, чтобы вообще запретить работу служб WCF (что и произошло раньше), он начал работать и поднял ограничения.
Я не знаю, что я делал неправильно в первый раз или что я сделал правильно в этот раз... одна из тех вещей, которые я думаю.