- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 Microsoft.AspNet.WebApi.Client在我的 ASP.MVC 5 项目中使用休息服务。我正在关注 this使用 HttpClient 的教程。代码未编译,因为 ReadAsAsync
方法在 HttpContent 中不再可用。经过一番挖掘后,我开始知道它是 System.Net.Http.Formatting.dll
中定义的扩展方法。我为同一个 dll 找到了一个 nuget 包 here但该软件包已被弃用,我无法安装它。我还尝试根据 this 在 Program Files 文件夹中搜索该 dll。发布但我无法得到它。任何想法如何使 ReadAsAsync
工作?非常感谢任何帮助。谢谢。
最佳答案
您需要做的是添加新的引用 System.Net.HttpClient;
和 System.Net.HttpClient.Formating;
。
这是我在 HttpClient 中的示例代码:
以下代码用于使用 HttpClient 从 saba 获取证书。
using System.Net.Http;
using System.Net.Http.Headers;
using GoSaba.Models.Saba;
namespace GoSaba.Controllers.Saba
{
class LoginController
{
//HTTP GET: Saba/api/login
public async Task<string> GetCertificate(string host, string user, string password, string site)
{
StringBuilder getCertificate = new StringBuilder();
if(!string.IsNullOrEmpty(host))
{
using(var httpClient = new HttpClient())
{
httpClient.BaseAddress = new Uri(string.Format("http://{0}/", host));
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
httpClient.DefaultRequestHeaders.Add("user", user);
httpClient.DefaultRequestHeaders.Add("password", password);
httpClient.DefaultRequestHeaders.Add("site", site);
HttpResponseMessage httpResponse = await httpClient.GetAsync("Saba/api/login");
if(httpResponse.IsSuccessStatusCode)
{
LoginModel.GetCertificate saba = await httpResponse.Content.ReadAsAsync<LoginModel.GetCertificate>();//LoginModel.GetCertificate is model.
getCertificate.Append(saba.certificate);
}
}
}
return getCertificate.ToString();
}
}
}
您可以将此作为如何使用 HttpClient 的引用。
关于c# - HttpContent 中 ReadAsAsync 方法的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26624484/
我们在代码库中看到了以下堆栈跟踪: System.ArgumentException: An item with the same key has already been added. at
我有这个代码示例,它是作为对另一个问题 (Send a file via HTTP POST with C#) 的回答而发布的。除了一个问题外,它工作正常。它用双引号将 HTTP header 中的边
我正在尝试使用 HttpContent: HttpContent myContent = HttpContent.Create(SOME_JSON); ...但是我没有运气找到它定义的 DLL。 首先
我正在研究应该完成简单事情的自定义过滤器。我所有的 API 都包装到“响应”对象中。我想使用过滤器填写所有属性。这是我的过滤器代码: public class MeteringFilter : IAc
我已经创建了一个 API,它应该能够通过 POST 和字符串形式的请求主体连接到外部 API。 我可以毫不费力地直接从 Postman 连接到 API。但是它不能通过我自己的 API 工作。 有什么想
我有一个通过 HttpSelfHostServer (ASP.Net WebApi Beta) 运行的小型 REST 服务,但在反序列化一些发布到服务器的数据时遇到了一些问题。方法签名如下: publ
我正在将 HttpContent 转换为以下 dto: public class ContentDto { public string ContentType {get; set;}
我正在使用 HttpClient.PostAsync() 并且响应是 HttpResponseMessage。它的 Content 属性是 HttpContent 类型,它有一个 CopyToAsyn
使用 Web API 2.2,假设我想从 HttpContent 中读取两次,每次都是不同的类型。 await httpContent.LoadIntoBufferAsync(); //necessa
我在网络上看到大量使用新 HttpClient 的示例对象(作为新 Web API 的一部分)应该有 HttpContent.ReadAsAsync方法。然而,MSDN没有提到这个方法,Intelli
这个问题在这里已经有了答案: POSTing JsonObject With HttpClient From Web API (10 个答案) Send HTTP POST message in A
尝试将文件添加到 http rest 调用时出现此错误: responseJson = {Message: "An error has occurred.", ExceptionMessage: "I
我正在设置一个 API 来与数据库交互,当该 API 收到一个帖子以创建一个已经存在于它的相应表中的条目时,我想返回一个带有解释性消息的代码 209 冲突。所以我尝试了这个: Controller p
我尝试创建 Windows 应用商店应用。我需要发送邮寄请求,但我遇到了问题。我的方法: private async Task POST(byte[] pic, string uploa
我正在使用 Microsoft.AspNet.WebApi.Client在我的 ASP.MVC 5 项目中使用休息服务。我正在关注 this使用 HttpClient 的教程。代码未编译,因为 Rea
我目前正在开发 C# Web API。对于特定调用,我需要使用对 API 的 ajax 调用发送 2 个图像,以便 API 可以将它们保存为数据库中的 varbinary(max)。 如何从 Http
我们正在构建一个高度并发的 Web 应用程序,最近我们开始广泛使用异步编程(使用 TPL 和 async/await)。 我们有一个分布式环境,其中应用程序通过 REST API(构建在 ASP.NE
我正在集成一个从几乎端点返回此模型的 API { meta: { ... }, data: { ... } } 但对于某些调用,数据是同类对象的数组 { meta: { ... },
在我的 Owin 自托管 Web Api 项目中,我正在尝试构建一个 custom MediaTypeFormatter继承自 BufferedMediaTypeFormatter 。但问题是Http
我正在尝试将以下读取 HttpContent 的完整字符串响应的代码转换为字符串,以仅读取特定的最大字符数。现有代码: private static async Task GetContentStri
我是一名优秀的程序员,十分优秀!