【问题标题】:How do i Extract HTTPResponseMessage content from Console App如何从控制台应用程序中提取 HTTPResponseMessage 内容
【发布时间】:2017-02-09 15:36:50
【问题描述】:

我正在从我的控制台应用程序调用 Web API。我得到HttpResponseMessage 作为回复。我无法阅读该消息内容。

我试过了

   var loginResult = await response.Content.ReadAsAsync<loginresult>(new List<MediaTypeFormatter> { new JsonMediaTypeFormatter() });

Visual Studio 抱怨 ReadAsAsync 不存在,MediaTypeFormatter 也不存在。

但它为什么不起作用是有道理的,因为它使用了特定于 MVC 的 MediaFormattersReadAsAsync 也不支持控制台应用。

如何在控制台应用程序中阅读HTTPResponseMessage 内容?

【问题讨论】:

  • “它不工作”以什么方式?
  • Visual Studio 抱怨ReadAsAsync 不存在,MediaTypeFormatter 也不存在。
  • 您的项目中是否引用了 System.Net.Http?
  • 是的,我有,否则我不能打电话给webapi

标签: c# asp.net-web-api2 console-application httpresponsemessage


【解决方案1】:

我相信您缺少对 System.Net.Http.Formatting 程序集的引用。您可以通过Nuget 获取它。

这是ReadAsAsync&lt;T&gt; documentation

【讨论】:

  • 我已经试过了,但我认为Console App 不支持System.Net.Http.Formatting
  • 嘿@Venky,我有一些控制台应用程序引用了程序集,所以它应该适合你。您遇到什么问题导致您认为它不受支持?
  • 我在 Add Reference Assemblies 中找不到这个 dll。另外,当我搜索它时,我在 Nuget 中找不到它。我以为这个dll会在安装system.net.http时作为依赖自动安装,我试过了,但没有安装。
  • 这是指向包含System.Net.Http.Formatting 程序集的Nuget Package 的链接。顺便说一句,它不是 System.Net.Http 的依赖项
  • 酷。它有效.. 我必须从 Nuget 包管理器控制台手动安装。
猜你喜欢
  • 2012-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-11
  • 1970-01-01
  • 2023-01-17
  • 2012-01-24
  • 1970-01-01
相关资源
最近更新 更多