【发布时间】:2016-08-08 08:46:41
【问题描述】:
我正在尝试使用 DelegatingHandler 来包装我的 Web API 响应。我以this 为例。
在某些时候需要从响应对象中读取内容:
if (response.TryGetContentValue(out content) && ...)
解决方案不起作用,因为 response.TryGetContentValue(out content) 实际上没有返回任何内容(或填充 content 变量)。
但是,如果我将代码“更改”为...
response.Content.ReadAsAsync<object>().Result;
...它确实有效。
我希望TryGetContentValue 和Content.ReadAsAsync 返回相同的值。为什么不是这样?
编辑:
【问题讨论】:
-
你能确认一下 TryGetContentValue 是返回真还是假吗?
-
您能否在调用 TryGetContentValue 时检查 Content 属性的值(以及什么类型)?
-
@MichałKomorowski:它返回错误
-
@AlekseyL.: 只是为了格式化问题...
-
@MichałKomorowski:类型为
System.Net.HTTP.StringContent。但是,当我使用ReadAsAsync检索它时,我强制它成为一个对象。这会自动反序列化它吗..?
标签: c# asp.net-web-api delegatinghandler