Как установить MaxBufferSize/MaxReceivedMessageSize в Windows Phone 7?

У меня возникли проблемы с запросом информации на веб-сервере из моего приложения для Windows Phone 7, и в результате моих исследований я обнаружил, что MaxBufferSize/MaxReceivedMessageSize слишком низкий. Проблема в том, что я не могу понять, как это изменить. Каждый найденный результат поиска говорит о том, что приложение является приложением WCF, и об изменении привязки в ServiceReferences.ClientConfig. Решение из этого поста дает этот пример:

1. edit the ServiceReferences.ClientConfig to accept a large buffer.

 <binding name="BasicHttpBinding_MosaicService" maxBufferSize="2147483647"
                    maxReceivedMessageSize="2147483647">  

Однако я не использую приложение WCF, и я не знаю, каковы эквиваленты вышеупомянутого, и ServiceReferences.ClientConfig для обычного приложения WP7. Кто-нибудь может мне помочь с этим? Я сделал все возможное, чтобы понять это сам, но я никуда не денусь.

Для справки: в случае, если у кого-то еще возникла проблема, с которой я столкнулся (потребовалось очень много времени, чтобы выяснить, может ли это быть проблемой), вот что происходит со мной: я получаю WebException с сообщением: " Удаленный сервер вернул ошибку "NotFound". И соответствующий раздел трассировки стека:

at System.Net.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
at System.Net.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)

1 ответ

Решение

Я не уверен, как вы перешли от сообщения об ошибке "Удаленный сервер возвратил ошибку: NotFound" к мысли, что ваш клиент не может обработать размер ответа. Гораздо более вероятно, что сообщение об ошибке верное, и запрашиваемый вами URL не найден. Удалите точку останова в своем коде, где вы запускаете запрос. Какое свойство RequestUri установлено для вашего объекта HttpWebRequest? Скопируйте этот URL в браузер, и вы, скорее всего, увидите, что "страница не найдена". Исправьте неверный URL, и все будет хорошо.

Другие вопросы по тегам