我已经设置了一个无服务器azure cosmos graph db帐户,现在我正试图使用以下代码连接到它:
.AddSingleton(s =>
{
var connectionPool = new ConnectionPoolSettings
{
MaxInProcessPerConnection = 32,
PoolSize = 4,
ReconnectionAttempts = 4,
ReconnectionBaseDelay = TimeSpan.FromSeconds(1)
};
var server = new GremlinServer("<project-name>.documents.azure.com", 443, true, "/dbs/<DatabaseName>/colls/<GraphName>", "<primary key>");
return new GremlinClient(server, connectionPoolSettings: connectionPool);
})
GremlinClient抛出异常,消息为
当状态码为"101"时,服务器返回状态码为"200"。
我正在使用Gremlin。Net 3.6.0和。Net 6什么好主意吗?
通过更改
的uri解决了这个问题<project-name>.documents.azure.com
<project-name>.gremlin.cosmosdb.azure.com
https://learn.microsoft.com/en-us/azure/cosmos-db/graph/gremlin-api-faq为什么我正——websocketexception——the-server-returned-status-code——200——when-status-code——101——预计错误-
如果您与早期版本的Gremlin连接良好。Net,您可能想要恢复。根据他们的网站,他们支持的版本是3.4.6。而3.4以后的版本。x可能会工作,它可能需要更多的配置(比如,我认为你可能不得不切换序列化器,因为我认为CosmosDB不支持GraphBinary序列化器),你必须注意不要使用新版本的TinkerPop有3.4.6没有的某些功能。