Я пишу приложение с Xamarin, в котором я хочу подключиться к Cassandra API из Azure Cosmos DB.Портал 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;
}