.NET Core 2.1 HttpClient 不返回预期值

2023-12-13

我正在使用一个接口从这个 url 调用 apihttp://localhost:55260/api/Accounts/GetList

这是控制器的引用:

[HttpGet]
[Route("GetList")]
[AllowAnonymous]
public ActionResult<IEnumerable<string>> GetList()
{
    return new string[] { "value1", "value2" };
}

但是,我得到的不是返回的字符串,而是:

enter image description here

这就是我声明 httpclient/interface 的方式:

private readonly HttpClient httpClient;
public AuthenticationClient(HttpClient httpClient)
{
    httpClient.BaseAddress = new Uri("http://localhost:55260/api/Accounts");
    httpClient.DefaultRequestHeaders.Accept.Clear();
    httpClient.DefaultRequestHeaders.Accept.Add(
        new MediaTypeWithQualityHeaderValue("application/json"));
    this.httpClient = httpClient;
}

public async Task<IEnumerable<string>> GetDataAsync()
{
    List<string> result = null;
    HttpResponseMessage response = await httpClient.GetAsync("/GetList");
    if (response.IsSuccessStatusCode)
    {
        result = await response.Content.ReadAsAsync<List<string>>();
    }
    return result;
}

我已经在 Startup.cs 中将其声明为 services.AddHttpClient();

这就是我调用接口的方式

private readonly IAuthenticationClient authenticationClient;
public HomeController(IAuthenticationClient authenticationClient)
{
    this.authenticationClient = authenticationClient;
}

public IActionResult Index()
{
    var result = authenticationClient.GetData();
    return View();
}

我是否错过了什么或者是否有关于如何使用 HttpClients 的教程?另外,我如何通过这个发布数据?


您的接口定义了异步调用。换句话说“GetData”返回Task<string>不是实际值。

为了获得实际值,请尝试此操作(徒手编码,因此无需调试)

public async Task<IActionResult> Index()
{
    var result = await authenticationClient.GetData();
    return View(result);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET Core 2.1 HttpClient 不返回预期值 的相关文章

随机推荐

  • 文件锁释放时收到通知

    使用C 和Windows作为平台 我有一台相机 可以将 JPG 文件写入电脑的本地文件夹中 我想加载相机丢弃的每个文件 因此我有一个 FileSystemWatcher 它会在创建新图片时通知我 但相机在写入文件时锁定文件 所以如果我在收到
  • Android,蓝牙配对后仅通过身份验证交换信息 //

    我想通过蓝牙与仅通过身份验证配对的 2 个 Android 设备交换一些信息 我已经在 Android 开发人员端看到了 Android 聊天示例示例 它运行良好 但现在我想要在 2 个设备的蓝牙配对后 想要相互交换一些信息 就像当设备将其
  • VueJS 渲染一次到一个元素中

    是否可以只渲染一次到一个元素中 假设我有一个 contenteditable div 并且只想渲染第一个值 然后随着模型更改而停止重新渲染 这里只取初始值variable将被渲染 div variable div Use v once di
  • Vite 网络 URL 在 Laravel 应用程序中打开 Vite 开发服务器

    当我跑步时vite run dev host在我的 Laravel 项目中 我的屏幕显示如下外网网址 我的外部网址是 http 192 168 1 6 5173 Local http localhost 5173 Network http
  • 在 window.onload 事件上初始化角度

    在第三方框架中 可以通过提供将由框架添加到窗口加载的 JavaScript 代码来修改 html 页面 可以将它们的内容写入 AddIn div 元素 我如何将角度应用程序注入到这个 div 元素 HTML js 中
  • 如何在 C# 中使用 iTextSharp 获取 pdf 文件中的特定段落?

    我在我的 C winform 应用程序中使用 iTextSharp 我想获取 PDF 文件中的特定段落 这在 iTextSharp 中可能吗 是和不是 首先是没有 PDF 格式没有文本结构的概念 例如段落 句子甚至单词 它只有文本串 事实上
  • 使用javascript分隔数组中的负数和正数

    我试图在 Javascript 中分离数组的负数和正数元素 这样之后首先出现所有负数元素 然后是正数元素 每个元素都按原始顺序排列 Example 输入数组 1 2 3 2 4 输出数组 3 2 1 2 4 输入数组 3 2 1 0 4 3
  • 如何忽略 Java 应用程序外部的过期证书?

    我们有一个 Java 应用程序 需要忽略过期的自签名证书 但是我们无法修改代码来执行此操作 我想知道我们是否可以在启动时提供系统属性或环境变量 以便我们暂时忽略所有过期的证书 或者甚至更具体 并从外部提供我们希望过期的特定证书被忽略 有人有
  • nginx 中 PATH_INFO 的空值返回垃圾值

    当 nginx 设置的 PATH INFO 为空字符串时 我在从 PHP 访问它时收到一些垃圾字符 这就是我在 nginx 中设置 PATH INFO 的方法 fastcgi split path info php fastcgi para
  • Linux 的 Rijndael 替代方案

    我有一个在 C Windows 中使用 Rijndael 对象的项目 我应该用c Linux来写它 我知道我应该使用 openssl aes 但不知道如何使用 包括哪些内容 班级名称是什么 方法 我应该使用什么来代替 Rijndael cr
  • 从我的应用程序在 Whatsapp 上分享视频

    我想分享视频 我有该视频的链接 当用户想要分享该视频时 它会在应用程序中下载 现在视频未在 Whatsapp 上共享 我现在不知道如何 这是我的代码我尝试过但没有成功 Intent videoshare new Intent Intent
  • 如何处理视图模型中的 Slider.ValueChanged 事件?

    我有一个PlayerV xaml内部带有滑块的视图
  • JW Player 无法在 ie9 和 ie10 中播放 MP4 视频格式的视频

    我在我的网页中实现了 jwplayer 6player 我可以在 ie9 和 ie10 浏览器中的 jw 播放器中播放 mp3 文件 但我无法在两个浏览器中播放 MP4 文件 但在 ie8 中工作正常 下面是我使用的代码
  • 流畅的 JavaScript 动画

    这是一些代码
  • 如何在 Matlab 中选择子矩阵(不以任何特定模式)

    如何在Matlab中选择子矩阵 不是任何模式 例如 对于一个大小为10 10的矩阵 如何选择由第1 2 9行和第4 6列交集组成的子矩阵 感谢您提供任何有用的答案 TLDR 简答 至于你的问题 假设你有一个任意的 10 10 矩阵A 提取所
  • 当其他应用程序启动时,手电筒会关闭。安卓

    我正在使用 Widget 开发手电筒应用程序 当我在小部件手电筒打开的情况下打开手电筒时 当我启动某些应用程序时 手电筒会关闭 为什么会发生这种情况 为什么我的手电筒无法在后台运行 我怎样才能防止这种情况发生 我希望手电筒只能由用户而不是系
  • 如何在不共享敏感信息的情况下从github推送和拉取?污迹和清洁?

    当我从 github 拉取到服务器存储库时 我想避免覆盖某些文件中的本地化敏感信息 例如 config php 注意 它不是开源类型的存储库 我完全控制存储库 我是唯一的用户 它是私有的 但最重要的是 它基于一个开源框架 可能会改变配置文件
  • 在 VS 2010 C# 项目之间共享 .cs 文件

    我想知道两个独立的 C Windows 项目 在两个独立的解决方案中 是否可以共享一个具有共享定义的 cs 文件 如果是这样 那又如何呢 附言 第一个项目是 ASP NET Web 应用程序 第二个项目是 C Windows 服务 作为 W
  • display:none 是否仍使用渲染性能

    可以说我有这样的标记 div style display none div 浏览器是否仍然使用资源来加载 Flash 对象 或者是否会延迟到调用 javascript 来切换 Flash 对象 dislplay block 现在请记住 我不
  • .NET Core 2.1 HttpClient 不返回预期值

    我正在使用一个接口从这个 url 调用 apihttp localhost 55260 api Accounts GetList 这是控制器的引用 HttpGet Route GetList AllowAnonymous public Ac