我正在尝试使用一个DelegatingHandler来包装我的Web响应。我以这为例。
在某个时候,需要从响应对象读取内容:
if (response.TryGetContentValue(out content) && ...)该解决方案没有工作,因为response.TryGetContentValue(out content)实际上没有返回任何内容(或者填充content变量,即)。
但是如果我把密码改成..。
response.Content.ReadAsAsync<object>().Result;..。确实有用。
我希望TryGetContentValue和Content.ReadAsAsync返回相同的值。为何不是这样呢?
编辑:

发布于 2016-08-08 09:34:50
如果您查看源代码 of HttpResponseMessageExtensions.TryGetContentValue方法,您将看到如下内容:
ObjectContent content = response.Content as ObjectContent;
if (content != null)
{
...
}
value = default(T);
return false;这意味着此方法假定HttpResponseMessage.Content属性将返回ObjectContent类型的实例。但是,在您的示例中,它是StringContent,不能传递给ObjectContent。
https://stackoverflow.com/questions/38824809
复制相似问题