Как я могу получить более подробную информацию о том, почему этот запрос на обслуживание REST не работает? - PullRequest
0 голосов
/ 15 сентября 2010

Моя цель состояла в том, чтобы создать REST-сервис, который позволит мне POST и получать изображения.У меня работает часть GET, но у меня возникают трудности с отправкой изображения в созданный мной сервис.Используя шаблон WCF REST Service 40 (CS) , я создал следующий метод для обработки моего POST.

[WebInvoke(Method = "POST", UriTemplate = "upload/?fileName={fileName}")]
public void AddImageToStore(Stream file, string fileName)
{
// Implementation goes here.  For now method is empty.
}

Ниже приведен код, который я использую для использования вышеуказанного метода.Если я раскомментирую строку 3 и ничего не отправляю в теле все работает.Если я раскомментирую строку 4 и отправлю текст в теле без ошибок.Однако, если я отправляю изображение в потоке, я получаю сообщение об ошибке «BadRequest (400) не является одним из следующих: OK (200) ...»

Stream theStream = new MemoryStream(File.ReadAllBytes(@"C:\test.jpg"));
Uri uri = new Uri("http://127.0.0.1:50001/MediaService/upload/?fileName=test.jpg");
HttpClient client = new HttpClient(uri);
// HttpContent content = HttpContent.CreateEmpty(); //Status successful
// HttpContent content = HttpContent.Create("test", Encoding.UTF8); //Status successful
// HttpContent content = HttpContent.Create(theStream, "image/jpeg", theStream.Length); //Error when I send a stream!

HttpResponseMessage response = client.Post(uri, content);
response.EnsureStatusIsSuccessful();

Это моя первая попытка потребленияОТДЫХЯ застрял на данный момент, как отладить это.Как я могу получить более подробную информацию о том, что является настоящей ошибкой?Сообщение об ошибке «BadRequest (400) ...» не очень полезно.

1 Ответ

1 голос
/ 16 сентября 2010

После долгих проб и ошибок я смог ответить на свой вопрос.

Оказывается, я отправлял файлы, размер которых превышал размер пула буферов по умолчанию Я закончил настройку значений по умолчанию в моем файле web.config для MaxBufferPoolSize , MaxBufferSize и MaxReceivedMessageSize

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...