gpt4 book ai didi

c# - System.Net.Http.Formatting 库的 PCL Repack 中的 ReadAsAsync<>

转载 作者:太空狗 更新时间:2023-10-30 00:52:12 28 4
gpt4 key购买 nike

尝试在 System.Net.Http.Formatting 的 Bitrium.Http.Extensions 重新打包中调用 ReadAsAsync<> 扩展方法时出现以下错误。

Method 'SerializeToStreamAsync' in type 'System.Net.Http.ObjectContent' from assembly 'Bitrium.Http.Extensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=43390f7aed073600' does not have an implementation.

我在 PCL 项目中有类似于以下代码的内容,我正在通过简单的单元测试对其进行测试。我没有实现 await 模式,但我认为它与这里无关。

public class RestApi()
{
public void Get()
{
HttpResponseMessage response = new HttpResponseMessage();
HttpClient client = new HttpClient();
response = client.GetAsync("http://someUrl.com").Result;
var modelList = response.Content.ReadAsAsync<List<Model>>().Result; // I get the exception here
}
}

调用方法:

var target = new RestApi();
target.Get();

此时我能做些什么吗?我不一定需要 Async 功能,因此仍然可以将我的响应转换为我的模型的另一个实现也可以。

最佳答案

而不是使用 Bitrium 重新打包来尝试重用 ReadAsAsync<T> System.Net.Http.Formatting 中的扩展方法,我选择了 Json.NET。因此不需要依赖重新打包,而是仅依赖于包含 HttpClient (NuGet <package id="Microsoft.Net.Http" version="2.2.18" targetFramework="portable-net45+sl50+MonoAndroid10+MonoTouch10" />) 的库的 PCL 构建的当前标准实现。

var resultString = response.Content.ReadAsStringAsync().Result;
Contacts = JsonConvert.DeserializeObject<List<T>>(resultString);

我找到了 this post对新的 Json.NET 很有帮助。

关于c# - System.Net.Http.Formatting 库的 PCL Repack 中的 ReadAsAsync<>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22693726/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com