- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 System.Net.Http 的 HttpClient 通过“POST”调用 REST API使用以下代码:
using (HttpRequestMessage requestMessage = new HttpRequestMessage(
HttpMethod.Post, new Uri(request)) { })
{
response = await httpClient.PostAsync(request, objectContent);
}
“objectContent”目前是这个 -
objectContent = new ObjectContent(jsonContent.GetType(),
jsonContent,
new JsonMediaTypeFormatter());
我想知道如果这是一个 StringContent 而不是像这样的 ObjectContent 会有什么不同?
objectContent = new StringContent(content);
objectContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
两者都很好。因为它是 JSON,所以我倾向于假设 StringContent 是有意义的。但是什么时候使用 ObjectContent,因为几乎所有发送的内容都是“字符串”。
最佳答案
I was wondering what difference it makes if this was a StringContent rather than an ObjectContent like this?
在您的示例中不会有任何区别。 ObjectContent
只允许通过 HttpClient
发送“更广泛”的类型, 而 StringContent
string
较窄仅值,例如 JSON。
StringContent
是围绕 ByteArrayContent
的细长包装,并实际存储作为 byte[]
传递的值.您只需获得不需要转换 string
的好处来回。
编辑:
鉴于您发布的是 JSON,您甚至可以使用 HttpClientExtensions.PostAsJsonAsync<T>
使其更简洁:
await httpClient.PostAsJsonAsync(url, json);
关于c# - StringContent 与 ObjectContent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30704584/
我有以下要序列化的类: public class UpdateDoorCommand : IXmlSerializable { // string such as D1 public
我正在使用 System.Net.Http 的 HttpClient 通过“POST”调用 REST API使用以下代码: using (HttpRequestMessage requestMessa
var cnt = new ObjectContent(1, new JsonMediaTypeFormatter()); 上面的行在下面给出了编译器错误 'System.Net.Http.Objec
我似乎无法捕获从 System.Net.Http.HttpClient 的 SendAsync 方法抛出的某些异常。具体来说,是从 HttpWebRequest.ChechProtocol 方法抛出的
我有 2 个 POCO 类——Contact 和 TrainingSeminar——它们使用 EF5 加入多对多关系 在联系人 odata Controller 中,我希望能够返回联系人注册的 Tra
我使用 Web api 从数据库中检索数据。我只有 1 个表“tblMessage”并想从该表中获取数据。 我设置了所有内容,但是当我运行网站时。错误总是说 The 'ObjectContent`1'
这个简直要杀了我。这里的文章和网络都没有帮助。 首先,我正在使用 .Net 4.5 开发 ASP.Net WebForms(不是 MVC)。我找到了great article它可以帮助您将 OData
当我使用 ObjectContent 对象创建 HttpContent 以通过 HttpClient 向 Web API 服务发送请求时,出现以下错误: 不能向缓冲区写入超过配置的最大缓冲区大小的字节
对于我的单元测试,我想将 HttpResponseMessage 的内容转换为正确的类型,这样我就可以访问它的 Value 属性,如下所示: var content = result.Content
我在尝试使用 Web API Controller 时收到此错误。 Web API Error: The 'ObjectContent`1' type failed to serialize the
我更新到 MVC4 的最终版本,现在我的测试失败并出现此错误: System.MissingMethodException : Method not found: 'Void System.Net.H
最简单的示例,我获取一个集合并尝试通过 Web API 输出它: // GET api/items public IEnumerable Get() { return MyContext.It
我是一名优秀的程序员,十分优秀!