0
我正在使用RestSharp構建對我的MVC入口點的Rest訪問(實際上我可以使用它們從monotouch,但現在我正在測試Windows 7,vs2010,.net 4,RestSharp 104.1)RESTSharp在ExecuteAsyncPost與ExecutePost上的空實體
如果我創建了一個請求,並調用
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>
,你可以在最後看到的是連載d數據blob我需要發送到服務器(類型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");
使用招我得到完全不同的包,沒有身體,沒有內容類型,因此來自服務器的失敗響應。
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認證只是一個自定義認證字符串。任何人有任何想法,爲什麼異步調用留給我一個空的郵件正文?