gpt4 book ai didi

c# - 带有 C# 的 Couchbase, "Bucket.Result"大部分时间给出 "Fatal"和 "Unexpected character encountered while parsing value: <"

转载 作者:太空宇宙 更新时间:2023-11-03 12:45:04 25 4
gpt4 key购买 nike

我是 Couchbase 的新手,想对数据库执行分组查询。我已经使用 C#.NET 创建了一个 MVC 应用程序。下面是代码片段:

var config = new ClientConfiguration
{
Servers = new List<Uri>
{
new Uri("http://172.18.109.151:8091/pools"),
new Uri("http://172.18.109.81:8091/pools"),
new Uri("http://172.18.109.46:8091/pools"),
new Uri("http://172.18.109.60:8091/pools"),
new Uri("http://172.18.109.80:8091/pools")
},
UseSsl = false,
DefaultOperationLifespan = 8100000,
BucketConfigs = new Dictionary<string, BucketConfiguration>
{
{"NLA-testing", new BucketConfiguration
{
BucketName = "NLA-testing",
UseSsl = false,
Password = "",
DefaultOperationLifespan = uint.MaxValue,
PoolConfiguration = new PoolConfiguration
{
MaxSize = 10,
MinSize = 5,
SendTimeout = int.MaxValue, // this value wa
}
}}}
};

using (Cluster cls = new Cluster(config))
{
using (var buc = cls.OpenBucket("NLA-testing"))
{
string AggQuery = "SELECT Status.StatusCode, Status.Detail, Status.Meaning, COUNT(*) AS count FROM `NLA-testing` where (Status.StatusCode is not missing and Status.Detail is not missing and Status.Meaning is not missing)GROUP BY Status.StatusCode, Status.Detail, Status.Meaning";
var AggResult = buc.Query<dynamic>(AggQuery);
foreach (var row in AggResult.Rows)
{
if (row["StatusCode"] != null)
datalist.Add(new StatusCount(Convert.ToInt32(row["StatusCode"]), Convert.ToInt32(row["count"]), row["Meaning"].ToString(), row["Detail"].ToString()));
}
}
}

下面一行会产生错误。 “QueryResult.Status”给出“致命”,异常给出“解析值时遇到意外字符:<。路径'',第 0 行,位置 0。”信息。

var AggResult = buc.Query(AggQuery);

更多信息如下图所示:

AggResult information

我不知道为什么会这样。我的配置是否遗漏了任何内容,或者我使用了错误的方式来执行查询?如果我多次运行该代码,则“QueryResult.Status”在 10 次运行中给出一次“成功”。

你能帮我解决一下吗?

谢谢

最佳答案

代理创建了一个问题,现在已经解决了。

我在服务器列表中列出了 5 个 IP 地址(在 ClientConfiguration 中)。该应用程序仅从 172.18.109.151 运行,它具有代理设置。因此,当

var AggResult = buc.Query(AggQuery);

语句执行,它使用 http://172.18.109.XXX:8093/query 向上述 5 个列表中的任何一个查询服务发出请求(这里的 XXX 是 151、81、46、60、80 中的任何一个)。因此它给出错误“无效请求”[HTTP/1.0 417 Expectation Failed whose content type is "text/html"]。

我从执行查询的 PC 上删除了代理,它工作正常。可以在以下位置找到更多讨论:Why C#.net query gives "FATAL" status most of the time? (forum.couchbase.com)

谢谢:)

关于c# - 带有 C# 的 Couchbase, "Bucket.Result"大部分时间给出 "Fatal"和 "Unexpected character encountered while parsing value: <",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37617312/

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