J'utilise Azure Management Libraries (particulièrement couramment) pour créer une requête Web vers leur API afin d'obtenir une liste de mes bases de données sous mon abonnement. Je suis en mesure d'obtenir une instance de sqlserver en utilisant couramment, mais je suis incapable d'obtenir une liste de toutes les bases de données sous un serveur spécifique. Définir et supprimer le travail bien c'est juste la fonction list().Azure Management Libraries Sdk pour .NET La fonction list() ne fonctionne pas pour les différentes interfaces
J'ai essayé de l'utiliser pour sqlserver.firewallrules et la fonction list ne fonctionne pas aussi bien.
Voici un code: Le journal à un moment donné fait une pause puis juste écrit "a terminé avec le code 0"
public async Task<List<String>> getSqlDatabaseList()
{
System.Diagnostics.Debug.WriteLine("Starting to get database list");
List<string> dbNameList = new List<string>();
//the var azure is defined earlier in the project and is authenticated.
var sqlServer = await azure.SqlServers.GetByResourceGroupAsync("<resource group name>", "<server Name>");
//The code below successfully writes the server name
System.Diagnostics.Debug.WriteLine(sqlServer.Name);
//The code below here is where everyting stop and "has exited with code 0" happens after a few seconds of delay
var dbList = sqlServer.Databases.List();
//Never reaches this line
System.Diagnostics.Debug.WriteLine("This line never is written");
foreach (ISqlDatabase db in dbList)
{
dbNameList.Add(db.Name);
}
return dbNameList;
}
Précision: J'utilise ASP.NET MVC Voici comment ma méthode de contrôleur accède à la méthode de classe. Le Gestionnaire de ressources est le nom de la classe qui implémente getSQlDatabaseList();
// GET: Home
public async Task<ActionResult> Index()
{
ResourceManager rm = new ResourceManager();
List<string> test = await rm.getSqlDatabaseList();
//Never Gets to this line of code and never calls the for each or anything after
foreach (var item in test)
{
System.Diagnostics.Debug.WriteLine(item);
}
System.Diagnostics.Debug.WriteLine("Is past for each");
//AzureManager azm = await AzureManager.createAzureManager();
//await azm.getResourceGroupList();
return View(new UserLogin());
}
Pour plus de précisions: Cela fait partie d'une application Web en utilisant Asp.net MVC. –