首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >dotnet 找不到 PostAsJsonAsync 方法

dotnet 找不到 PostAsJsonAsync 方法

作者头像
林德熙
发布于 2019-09-27 10:19:55
发布于 2019-09-27 10:19:55
3K0
举报
文章被收录于专栏:林德熙的博客林德熙的博客

在网络编程可以使用 PostAsJsonAsync 这个方便的方法将一个对象作为 json 推送到服务器,这个方法是一个扩展方法,在之前的框架,可以在 System.Net.Http.dll 找到这个好用的扩展方法,但是在 4.5 的时候就被移除了。本文告诉大家如何安装这个扩展方法

在新的版本,可以通过安装 Microsoft.AspNet.WebApi.Client 这个库使用,支持 .NETFramework 4.5 和 .NETStandard 2.0 另外不要看这个库的命名空间包含了 AspNet 其实这个库就是一些扩展方法,没有引用任何 AspNet 代码

在使用的时候,需要引用 System.Net.Http 命名空间,然后就可以使用下面的代码

代码语言:javascript
复制
           await httpClient.PostAsJsonAsync(url, obj);

其实自己写一个扩展方法也是不错,例如我就需要通过 Get 一个对象,可以这样写

代码语言:javascript
复制
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;

    public static class HttpClientExtensions
    {
        public static async Task<T> GetObjectAsync<T>(this HttpClient httpClient, string url)
        {
            var str = await httpClient.GetStringAsync(url);
            return JsonConvert.DeserializeObject<T>(str);
        }
    }

通过自己定义扩展方法,可以让网络编程的时候减少重复代码

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档