当Web服务在C#中生成多部分表单数据时,如何使用RestRequest / RestResponse?

时间:2014-04-27 11:07:47

标签: c# .net restsharp

我在RESTful Web服务器(java)中有一个Web服务,它使用APPLICATION_FORM_URLENCODED类型的媒体并生成MULTIPART_FORM_DATA类型的媒体。现在我正在使用REST客户端(C#)并尝试使用此Web服务。我使用 RestSharp 作为REST客户端。我的代码如下:

RestRequest request = new RestRequest("getDataFileChunkIS", Method.POST);
request.AddParameter("sessionId", sessionId);
request.AddParameter("dataFileId", dataFileId);            
request.AddParameter("offset", offset);
request.AddParameter("chunkSize", chunkSize);
request.AddParameter("checksumFlag", checksumFlag);

RestClient client = new RestClient(url);    
RestResponse response = (RestResponse)client.Execute(request);

但是在这个回复中,我得到了 HTTP状态406 - 不可接受。它说"该请求识别的资源只能根据请求生成具有不可接受的特征的响应"接受"报头&#34。也许我以错误的方式做这件事。所以我的问题是如何执行此请求,其响应将包含 MULTIPART_FORM_DATA

1 个答案:

答案 0 :(得分:1)

1)如何执行此请求,其响应将包含MULTIPART_FORM_DATA?

request.AddHeader("Accept", "multipart/form-data")

2)如何使用RestClient读取此响应头(包含JSON)?

查看this question的答案。特别是第三个,它展示了如何使用.NET 4.5库进行操作。

您可能需要实施IDeserializer才能访问原始HttpResponse以供消费。