在 .NET 4.5.1 中发布到 ASP.NET WebApi 2

Posted

技术标签:

【中文标题】在 .NET 4.5.1 中发布到 ASP.NET WebApi 2【英文标题】:POST to ASP.NET WebApi 2 in .NET 4.5.1 【发布时间】:2014-05-28 10:21:06 【问题描述】:

如何从 C# 客户端将复杂类型发布到 Web Api 2 控制器操作? 我看到了很多关于它的信息,但对于旧版本的框架。在 .NET 4.5.1 中正确的做法是什么?

目前我有:

using (var client = new HttpClient())

    client.BaseAddress = new Uri("http://localhost:60892/");
    client.DefaultRequestHeaders.Accept.Clear();
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

    //client.PostAsJsonAsync() doesn't seem to exist or I am missing something
    //client.PostAsync() can't find a way to post a complex type    

    if (response.IsSuccessStatusCode)
    

    

【问题讨论】:

【参考方案1】:

您会在Micorosft ASP.NET Web API 2.1 Client NuGet package 中找到PostAsJsonAsync 扩展方法。

不过,如果您适当地设置 HttpContentPostAsync 方法应该可以工作。可以在this discussion 中找到一个示例。

【讨论】:

所以,是的,我错过了 2.1 Client nuget 包。感谢您的回复!

以上是关于在 .NET 4.5.1 中发布到 ASP.NET WebApi 2的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1)

新的 Asp.Net MVC5 项目生成一个无限循环到登录页面

ASP.NET Core 1.0 部署 HTTPS

在 ASP.Net 中发布到生产环境

经典 ASP 到 ASP.NET 2.0 的转换

如何在 asp .NET 中将记录添加到数据库中