我正在用Xamarin编写一个应用程序,我想在其中连接Azure Cosmos DB的Cassandra API。 Azure门户提供了一些快速启动代码,应该可以使我开始连接到数据库,但是由于某些原因,该程序保持挂起状态而不会崩溃或继续。
我的调试器停止的行是(下面的更多代码):
集群集群= Cluster.Builder()...
该代码是Azure门户提供的快速入门代码的复制粘贴,但它似乎无法正常工作,我在google上找不到与该问题有关的任何内容。该程序永远不会停止,也永远不会继续,并且不会给出错误。
以前有人遇到过这个问题吗?
public MainPage()
{
InitializeComponent();
var options = new Cassandra.SSLOptions(SslProtocols.Tls12, true, ValidateServerCertificate);
options.SetHostNameResolver((ipAddress) => "<DATABASE>.cassandra.cosmosdb.azure.com");
Cluster cluster = Cluster.Builder()
.WithCredentials("<USERNAME>", "<KEY>")
.WithPort(10350)
.AddContactPoint("<DATABASE>.cassandra.cosmosdb.azure.com")
.WithSSL(options)
.Build();
ISession session = cluster.Connect("test");
resultLabel.Text = "test";
// string query = "SELECT * FROM test.users";
// RowSet rows = session.Execute(query);
// foreach (Row r in rows) {
// resultLabel.Text = r.GetColumn("email").ToString();
// }
}
public static bool ValidateServerCertificate(
object sender,
X509Certificate certificate,
X509Chain chain,
SslPolicyErrors sslPolicyErrors)
{
if (sslPolicyErrors == SslPolicyErrors.None)
return true;
Console.WriteLine("Certificate error: {0}", sslPolicyErrors);
// Do not allow this client to communicate with unauthenticated servers.
return false;
}