gpt4 book ai didi

asp.net-mvc-3 - 设置 ObjectContent Web API Preview 5 的最大大小

转载 作者:行者123 更新时间:2023-12-04 06:09:12 26 4
gpt4 key购买 nike

当我使用 ObjectContent 对象创建 HttpContent 以通过 HttpClient 向 Web API 服务发送请求时,出现以下错误:

不能向缓冲区写入超过配置的最大缓冲区大小的字节数:65536

以下代码用于发送请求。 Card 对象有大约 15 个属性。

var client = new HttpClient();
var content = new ObjectContent<IEnumerable<Card>>(cards, "application/xml");
MessageBox.Show(content.ReadAsString()); //This line gives me the same error.

var response = client.Post("http://localhost:9767/api/cards", content);

如何将配置的大小更改为大于 65,536 的大小?

最佳答案

由于问题在于 ReadAsString 扩展方法,我建议您创建自己的扩展方法来解决最大缓冲区大小问题。

下面是一个 ReadAsLargeString 扩展方法的例子,它可能可以解决这个问题。

public static string ReadAsLargeString(this HttpContent content)
{
var bufferedContent = new MemoryStream();
content.CopyTo(bufferedContent);

if (bufferedContent.Length == 0)
{
return string.Empty;
}

Encoding encoding = DefaultStringEncoding;
if ((content.Headers.ContentType != null) && (content.Headers.ContentType.CharSet != null))
{
encoding = Encoding.GetEncoding(content.Headers.ContentType.CharSet);
}

return encoding.GetString(bufferedContent.GetBuffer(), 0, (int)bufferedContent.Length);
}

关于asp.net-mvc-3 - 设置 ObjectContent Web API Preview 5 的最大大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7981735/

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