Пустое тело RESTSharp в ExecuteAsyncPost по сравнению с ExecutePost

Я использую RestSharp для создания доступа Rest к моим точкам входа MVC (на самом деле, я могу использовать их с монотач, но сейчас я тестирую Windows 7, vs2010, .net 4, RestSharp 104.1)

если я создам запрос и позвоню

client.ExecuteAsPost<Model.Client>( request );

это работает, я вижу в скрипаче необработанный пакет

POST http://localhost.:49165/Services/Client/ClientAdminService/FindClient HTTP/1.1 
Timestamp: Monday, March 18, 2013 1:56:02 AM 
X-PS-Authentication: YADAYADA:<deleted for brevity>== 
Accept: application/xml 
User-Agent: RestSharp 104.1.0.0 
Content-Type: application/xml; charset=utf-8 
Host: localhost.:49165 
Content-Length: 256 
Accept-Encoding: gzip, deflate 
Connection: Keep-Alive


<Client xmlns="http://schemas.datacontract.org/2004/07/PSRMWebService.Model.Version1" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><ID>0</ID><MailingAddress i:nil="true"/><Mask>Name</Mask><Name>Rykercom</Name><PhysicalAddress i:nil="true"/></Client>

как вы можете видеть в конце, это сериализованный двоичный объект данных, который мне нужно отправить на сервер (типа Model.Client), который добавляется к запросу с помощью

Request.AddParameter("application/xml; charset=utf-8", DataPacket, RestSharp.ParameterType.RequestBody);

где DataPacket — это сериализованный большой двоичный объект, созданный с помощью DataContractSerializer.

Теперь, если я изменю код для вызова

Client.ExecuteAsyncPost<Model.Client>(Request, (response, handle) => { OnFindClientAsyncComplete(response, handle, Callback ); }, "POST");

Используя Fiddler, я получаю совершенно другой пакет без тела, без типа содержимого и, следовательно, с неудачным ответом сервера.

POST http://localhost.:49165/Services/Client/ClientAdminService/FindClient HTTP/1.1
Timestamp: Monday, March 18, 2013 2:35:08 AM
X-PS-Authentication: YADAYADA:<deleted for bevity>==
Accept: application/xml
User-Agent: RestSharp 104.1.0.0
Host: localhost.:49165
Content-Length: 0
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

X-PS-Authentication — это просто пользовательская строка аутентификации. У кого-нибудь есть идеи, почему асинхронный вызов оставляет меня с пустым телом сообщения?


person cdturner    schedule 18.03.2013    source источник


Ответы (1)


Простой ответ — клонировать текущий репозиторий github для восстановления и создать его самостоятельно. Похоже, исправление для executeasync уже есть в дереве.

Есть ли шанс, что тот, кто когда-либо владел пакетом Nuget, сможет обновить его до последних источников?

Спасибо

person cdturner    schedule 19.03.2013